使用git add -f对覆盖.gitignored文件有任何负面影响吗?

时间:2014-02-13 09:14:01

标签: git

我想在创建标记时提交二进制文件,这些二进制文件是.gitignored,git-add说“如果你真的想添加它们,请使用-f”。所以,我想知道这是否安全。 我想用它来检查目标计算机上的二进制文件。旧的“系统”是将旧版本保存在由编译版本的日期命名的子目录中,这有点烦人。

2 个答案:

答案 0 :(得分:2)

很安全。 git警告你的唯一原因是你将它们标记为忽略,这意味着你告诉git你不希望它们在树中。

Git警告您并要求您明确表示您在添加文件之前已经知道您正在添加忽略列表中的文件。

答案 1 :(得分:2)

通常,添加被忽略的文件是安全的。一旦添加,他们将被跟踪,当然。如果您想要停止跟踪此类文件而不将其从工作目录中删除,则必须git rm --cached <filename>

然而!在将二进制文件添加到git repo之前,请三思。您的工作流程很可能出现问题,或者您使用git的方式并非如此。一旦你开始在你的存储库中有很多二进制文件,你会发现git变得非常非常慢。

对于您的特定应用,您可能需要查看git annex

另一个提示:如果您暂时需要将二进制文件添加到存储库,请在孤立的分支(git checkout -b --orphan <new_branch>)上执行此操作。这样,一旦你再次删除二进制文件,就可以运行垃圾收集并修剪reflog,二进制文件将消失。如果你只是将它添加到普通树中,它仍然在引用的提交中,因此在你的.git目录中作为一个blob,会减慢速度。