侧边栏

linux修改权限后git pull出现冲突

原文地址:https://www.cnblogs.com/jiangxiaobo/p/9856697.html

我在做linux自动化构建C++程序时每次git pull时总是报冲突,需要合并代码,因为做自动化构建确定是不会修改代码的,直到看到上面的博客才知道原来修改文件权限git会认为修改了文件,检查自己的自动化构建发现执行了chmod 777 -R .

 

以下为原文:

我们在使用git进行版本管理的时候,有时候只是修改了文件的权限,比如将pack.php修改为777,但其实文件内容并没有改变,但是git会认为此文件做了修改,原因是git把文件权限也算作文件差异的一部分了。下面做个测试:

1、修改版本库的文件的权限,然后使用diff查看下改变。

 

 

可以看到git把文件权限也列入了版本管理

2、在另外一个地方clone这个版本库,修改pack.php文件,然后提交。

3、在原版本库下面更新内容。

  $ git pull

可以看到提示冲突。

 

解决办法:

git中可以加入忽略文件权限的配置,具体如下:

$ git config core.filemode false

这样就设置了忽略文件权限。查看下配置:

$ cat .git/config



这时候再更新代码就OK了。

 

posted on 2020-01-09 11:04  SmilingEye  阅读(714)  评论(0编辑  收藏  举报

导航