git文档權限修改造成沖突和忽略文档權限方法

字號+ 編輯: 国内TP粉 修訂: 种花家 來源: OsChina 2023-09-11 我要說兩句(0)

說說自建git倉庫容易遇到的問題

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

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

$ chmod 777 pack.php
$ git diff pack.php
[root@localhost php]‡ git diff pack.php
diff --git a/php/pack.php b/php/pack.php
old mode 100644
new mode 100755

git 文档權限修改示例

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

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

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

[root@localhost php]# git pull
Updating 804203e.. 4abe32e
error: Your local changes to php/pack.php would be overwritten by merge
Please, commit your changes or stash them before you can merge.

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

可以看到提示沖突。

解決辦法:

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

$ git config core.filemode false

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

[root@localhost mycode]# cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefuodates = true

git 忽略文档權限的配置

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

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評