git修改檔案許可權引發衝突

2021-06-28 20:06:25 字數 567 閱讀 2597

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

1、修改版本庫的檔案的許可權,然後使用diff檢視下改變。

$ chmod 777 pack.php

$ git diff pack.php

可以看到git把檔案許可權也列入了版本管理。

2、在另外乙個地方clone這個版本庫,修改pack.php檔案,然後提交。

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

$ git pull

可以看到提示衝突。

解決辦法:

git中可以加入忽略檔案許可權的配置,具體如下:

$ git config core.filemode false
這樣就設定了忽略檔案許可權。檢視下配置:

$ cat .git/config

這時候再更新**就ok了。

git 修改檔案許可權

windows 下的檔案是否可執行是由副檔名決定的,但是linux下是否可執行是檔案的可執行屬性決定的。有時候windows 下開發寫的指令碼程式,想提交的git 倉庫中時就有可執行許可權,以便在linux和macos上轉殖下來就能直接執行。如果在linux下就先新增可執行許可權 後commit和p...

Git修改檔案許可權

目錄 使用場景 方法一 使用shell修改許可權 方法二 使用git命令修改許可權 有時會涉及到將檔案許可權的修改提交到版本庫中。例如我們建立的shell檔案預設情況下是沒有執行許可權的,如果使用者拉取了倉庫中的 在執行 前需要手動的將包中的所有shell檔案新增執行許可權。當然我們也可以直接將檔案...

Git修改檔案許可權方法

檢視repository中檔案許可權 git ls tree head 100644 blob xx gradlew 修改許可權git update index chmod x gradlew許可權修改後,相當於檔案進入了index中。提交修改 git commit m revise permiss...