我在我的服務器上運行了幾個chmod
。現在當我做git diff
那裏,我看到很多old mode 100644 new mode 100755
顯示git diff,忽略文件權限更改?
我也改變了一些文件那裏。但我只是用git diff來顯示文件的變化,忽略文件權限的變化。
我該怎麼做?順便說一句,我不希望GIT忽略這些文件權限更改。其實我想提交它們,我只是想讓git diff在特定時刻不顯示它們。
我在我的服務器上運行了幾個chmod
。現在當我做git diff
那裏,我看到很多old mode 100644 new mode 100755
顯示git diff,忽略文件權限更改?
我也改變了一些文件那裏。但我只是用git diff來顯示文件的變化,忽略文件權限的變化。
我該怎麼做?順便說一句,我不希望GIT忽略這些文件權限更改。其實我想提交它們,我只是想讓git diff在特定時刻不顯示它們。
這將讓Git忽略權限:
git config core.filemode false
將它們過濾在diff
結果,但不能忽視他們
git filter-branch -f --tree-filter 'find * -type f | xargs chmod 644 ' -- --all
git diff -G.
注:在最後的時間爲命令的一部分。
你需要(我認爲)至少Git版本1.7.10這個工作。 1.7.2至少太舊了。
1.7.9.5也看起來太老:( – ThorSummoner
「-G。」結尾的時期很重要,以防萬一人像我一樣密集,並認爲這是句子的結尾。一個正則表達式(「。」在這裏)添加/刪除行 – PseudoNoise
請注意,這實際上是一個很好的破解。默認情況下,git會顯示權限更改,並且此命令要求git僅顯示影響至少一行的更改在這個文件中,這樣做的工作,因爲只有權限的更改不會影響任何行。如何處理二進制文件,以及文件在內容和權限兩個方面都發生了變化時會發生什麼? –
我不希望GIT忽略我的文件權限更改。我想讓git diff不顯示它們... –
是其中一種解決方案嗎?我認爲我處於相同的情況,似乎這兩個答案都忽略與提交相關的權限,而不僅僅是查看已更改的文件。 – okwme
@HommerSmith,這應該適合你的需要:'git -c core.fileMode = false diff' 禮貌:http://stackoverflow.com/a/1580644/749232 – saji89