git关于文件权限修改引起的冲突及忽略文件权限的办法

时间:2021-02-19 16:35:52

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

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

git关于文件权限修改引起的冲突及忽略文件权限的办法

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

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

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

$ git pull

git关于文件权限修改引起的冲突及忽略文件权限的办法

可以看到提示冲突。

解决办法:

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

$ git config core.filemode false

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

$ cat .git/config

git关于文件权限修改引起的冲突及忽略文件权限的办法

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