git中忽略文件權限或文件擁有者的改變


在發布項目到線上時,很多時候需要修改文件的權限,如果是使用git版本管理軟件來發布的話,那么下次更新線上文件的時候就會提示文件沖突。明明文件沒有修改,為什么會沖突呢?原來git把文件權限也算作文件差異的一部分。下面筆者自己做了個簡單的例子來演示這種情況。

1、修改版本庫的文件的權限,然后使用diff查看下改變。

$ chmod 777 pack.php
$ git diff pack.php

git文件權限修改示例

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

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

3、在原版本庫下面更新內容。

$ git pull

git文件權限修改引起的沖突

可以看到提示沖突。

解決辦法:

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

$ git config core.filemode false  // 當前版本庫
$ git config --global core.fileMode false // 所有版本庫

這樣就設置了忽略文件權限。查看下配置:

$ cat .git/config // 查看git的配置文件

git忽略文件權限的配置

這時候再更新代碼就OK了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM