git merge合并报错:估计大家在使用git合并代码的时候会遇到这个错误[合并冲突]
git merge错误:Trying simple merge with origin
Simple merge did not work, trying automatic merge.
Auto-merging bc/sys/config.properties.php
ERROR: permissions conflict: 100644->100755,100644 in leyangjun.config.php
fatal: merge program failed
Automated merge did not work.
Should not be doing an Octopus.
Merge with strategy octopus failed.
错误原因:是因为你本地leyangjun.config.php该文件权限与远端该文件权限不一致,导致合并失败,
你会发现在怎么还原(git reset HEAD)该文件合并的时候依旧报错。最后发现就是权限问题导致的冲突。
⚠:这种错误一般都是开发不统一结果导致,或者使用的IDE导致的,避免的话统一一下权限就好。
解决方法:
1:修改权限 chmod 644 <filename> ,统一一下远端文件和本地文件的权限就行
2:修改权限后将文件提交到远端(注意⚠:如果你知修改文件权限的话你是git push不到远端的,会抱一个错误:
(nothing added to commit but untracked files present (use "git add" to track)),因为git会认为你什么都没有修改
,怎么办呢?你可以打卡这个文件leyangjun.config.php随便修改以下哪怕是加一个空格一个注释都可以,能后在提交git push
最快捷的解决方法:
本质来说这是git文件权限修改引起的冲突
git中可以加入忽略文件权限的配置以下两个步骤:
$ git config core.filemode false $ cat .git/config -->会看见fileMode=false
git忽略文件权限的配置好了,能后更新代码ok
作者:乐杨俊