天天看點

git 忽略檔案夾權限

感謝

在釋出項目到線上時,很多時候需要修改檔案的權限,如果是使用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  // 目前版本庫
$ git config --global core.fileMode false // 所有版本庫      

這樣就設定了忽略檔案權限。檢視下配置:

$ cat .git/config // 檢視git的配置檔案