2014-02-13 70 views
1

我想在創建標記時提交二進制文件,這些二進制文件是.gitignored,而git-add則說「如果您真的想添加它們,請使用-f。」所以,我想知道這是否是一件安全的事情。 我想用它來在目標計算機上檢出二進制文件。舊的「系統」是將舊版本保存在由編譯版本日期命名的子目錄中,這有點煩人。使用git add -f覆蓋.gitignored文件是否有任何負面影響?

回答

2

通常,添加忽略的文件是安全的。一旦添加,他們將被追蹤,當然。如果你想停止跟蹤這樣的文件而不從你的工作目錄中刪除它,你必須git rm --cached <filename>

但是!在將二進制文件添加到您的git repo之前,請考慮三次;您的工作流程出現問題的可能性很大,或者您使用的git的方式不符合預期。只要你的倉庫中有很多二進制文件,你會注意到git變得非常慢。

對於您的特定應用,您可能需要查看git annex

另一個提示:如果您臨時需要將二進制文件添加到存儲庫,請在孤立分支(git checkout -b --orphan <new_branch>)上執行此操作。這樣,一旦你再次刪除了二進制文件,你就可以運行垃圾收集並修改reflog,並且二進制文件將會變爲已不存在了。如果您只是將它添加到常規樹中,它仍然會處於引用提交中,因此將它作爲blob放在.git目錄中,從而放慢速度。

+0

雖然我同意向git repo添加二進制文件並不好,但總共1.64MB,其中只有一個會從一個標籤更改爲另一個。另外我只希望那些在標籤內。 git附件看起來像一個整齊的同步工具,但不完全是我需要的。我應該補充說舊版本的系統需要繼續使用,因爲實際使用這個軟件的人需要學習使用他沒有時間的git。這些repo中的二進制文件大部分都是針對我的,所以我可以在提交時添加標籤,添加二進制文件並對更改發表評論 – mlatu

2

這是安全的。 git警告你的唯一原因是你將它們標記爲忽略,這意味着你告訴git你不希望它們在樹中。

Git警告你,並要求你清楚地知道你剛纔添加的文件是在添加文件之前添加的。

相關問題