子武档案

过去理想谁听我讲多一次

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

2019年06月24日 下午

在发布项目到线上时,很多时候需要修改文件的权限,如果是使用git版本管理软件来发布的话,那么下次更新线上文件的时候就会提示文件冲突。明明文件没有修改,为什么会冲突呢?原来git把文件权限也算作文件差异的一部分。下面笔者自己做了个简单的例子来演示这种情况。

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

$ chmod 777 pack.php
$ git diff pack.php
git文件权限修改示例

git文件权限修改示例

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

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

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

$ git pull 
git文件权限修改引起的冲突

git文件权限修改引起的冲突

可以看到提示冲突。

解决办法:

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

$ git config core.filemode false

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

$ cat .git/config
git忽略文件权限的配置

git忽略文件权限的配置

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

赞(0)
分享
GIT
发表吐槽
你还可以输入250/250个字
提 交
0条评论

背景图设置

暂无歌曲播放
0:00 / 0:00
子武音乐播放器 - 专辑列表
  • 1 · Beyond
  • 2 · 纯音乐
  • 3 · 对唱
  • 4 · 国语歌
  • 5 · 刘德华
  • 6 · 外语歌
  • 7 · 影视歌
  • 8 · 粤语歌
注册