可能重複:
Locking binary files using git version control system在Git中,有沒有辦法將文件標記爲「純」?
我犯它永遠不應爲合併文件,但覆蓋(或許還有一個警告)當其他人拉開。有沒有辦法完成這個?
可能重複:
Locking binary files using git version control system在Git中,有沒有辦法將文件標記爲「純」?
我犯它永遠不應爲合併文件,但覆蓋(或許還有一個警告)當其他人拉開。有沒有辦法完成這個?
這是有點不清楚你的實際情況是什麼。你應該問自己的第一個問題是文件是否真的需要被跟蹤 - 不可合併的文件通常是派生文件,正如你在評論中所建議的那樣,因此不需要(也不應該)被跟蹤。
如果你真的需要跟蹤它,它是一個二進制文件? Git不會嘗試合併二進制文件 - 它們總是顯示爲合併衝突。 Git很擅長檢測二進制文件,所以在這種情況下,你可能是安全的。如果它不是二進制文件,那麼你仍然強迫Git適當地處理它。在.gitattributes
文件,添加類似:
path/to/file merge=binary
這將引導其把它當作一個二進制文件進行合併的目的。你也可以,如果你想,定義一個自定義的合併驅動程序。使用merge=my_merge_driver
在gitattributes文件,然後在你的gitconfig添加類似:
[merge "my_merge_driver"]
name = descriptive name
driver = my_script %O %A %B
的三個參數爲腳本是我們共同的祖先版本(O爲原件),當前分支的版本(A)和其他分支的版本(%B) - 它們是臨時文件,並且合併驅動程序應該執行合併並將結果保留在%A中。有關詳細信息,請參閱man gitattributes
。
它以什麼方式「純」?它可能是派生文件或二進制文件? – cmbuckley 2012-02-11 23:09:20
我想不出另一個字。也許是不可說的?是的,爲了我們的目的,讓我們說它是一個派生文件。 – 2012-02-11 23:22:35
這聽起來很像'我需要Git鎖'的論點,雖然措辭不同。你要求的是違背DVCS的精神。 – Perception 2012-02-11 23:24:11