我的本地分支机构上有一些文件,将来不会更改,但是其他开发人员会更改这些文件。目前,我必须从每次推送到源都排除这些文件。
我想要的是至少能够以这样的方式使用gitignore,我将这些文件添加到gitignore并且不必提交这些文件,因为如果我提交它们,则暂存构建将崩溃。
我尝试将它们添加到gitignore但是它要求我提交并推送我不能做的事情,也因为其他开发人员必须对这些文件进行更改。
所以,我可以以某种方式不提交gitignore文件,如果它只是承担了不得不避免承诺8-10个其他文件的负担。或者也许有另一种解决方案,我可以告诉git每次提交时都忽略这些文件?打开更好的解决方案。
答案 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>
此解决方案不会遇到磁头重置,但至少会暂时忽略这些文件,并降低检查不必要文件的风险。