将文件添加到gitignore而不提交它们

时间:2015-06-12 05:25:39

标签: git

我的本​​地分支机构上有一些文件,将来不会更改,但是其他开发人员会更改这些文件。目前,我必须从每次推送到源都排除这些文件。

我想要的是至少能够以这样的方式使用gitignore,我将这些文件添加到gitignore并且不必提交这些文件,因为如果我提交它们,则暂存构建将崩溃。

我尝试将它们添加到gitignore但是它要求我提交并推送我不能做的事情,也因为其他开发人员必须对这些文件进行更改。

所以,我可以以某种方式不提交gitignore文件,如果它只是承担了不得不避免承诺8-10个其他文件的负担。或者也许有另一种解决方案,我可以告诉git每次提交时都忽略这些文件?打开更好的解决方案。

4 个答案:

答案 0 :(得分:1)

您可以将.git/info/exclude用作.gitignore的特定于本地回购的版本。对于.git是文件而不是目录的子模块,您需要在.git文件指向的任何地方停下来,然后从那里使用info/exclude

也可以使用git update-index --assume-unchanged的一些黑客攻击,如果远程仓库中存在 文件,但是你想要一些本地的编辑特别有用被忽略。但是发送.example文件

通常会更好

答案 1 :(得分:0)

您可以将.gitignore添加到.gitignore文件中!这样,您的.gitignore文件就不会被提交。如果您也将gitignore用于其他内容,请考虑使用本地gitignore文件作为目录

答案 2 :(得分:0)

您可以添加特定于用户的.gitignore

Can I make a user-specific gitignore file?

git config --global core.excludesfile $HOME/.gitignore

然后您可以在homedir中填充.gitignore以忽略文件

修改:请注意,最近版本的git默认core.excludesfile$XDG_CONFIG_HOME/git/ignore,即$HOME/.config/git/ignore,因此您应该只使用它而不是将其设置为其他文件。

答案 3 :(得分:0)

我尝试了@ exussum的解决方案,但由于文件已经签入,因此对我不起作用。相反,我找到update-index并在忽略列表中手动添加文件。

git update-index --assume-unchanged <file_to_ignore>

此解决方案不会遇到磁头重置,但至少会暂时忽略这些文件,并降低检查不必要文件的风险。