我已经创建了该文件.gitignore_global并将其放在我的git安装目录中.当我运行命令时:
git config --global core.excludesfile ~/.gitignore
Run Code Online (Sandbox Code Playgroud)
忽略文件中的规则不会应用于我的提交.
当我重命名文件.gitignore并将其放入我的项目根目录时,规则确实适用.
这有什么不对?
Cha*_*esB 152
也许你需要这样做:
git config --global core.excludesfile ~/.gitignore_global
Run Code Online (Sandbox Code Playgroud)
还有一些咖啡.
Max*_*eod 70
以为我会参与其中.全局忽略文件似乎无法正常工作的另一个原因.这是我认为在早期答案中没有涉及到的内容.这是非常明显的 - 当然 - 很容易错过.
是的,git 只会忽略新文件.如果文件已被git跟踪,那么当然git不会忽略它!因此,任何gitignore或exclude文件中的任何模式都不适用.
那讲得通.为什么git想忽略对已经跟踪的文件的修改?如果要忽略该文件,则必须先告诉git不要跟踪它,然后git忽略它,如手册中所述.有关如何解开文件的信息,请参阅此答案.
这一切都让我问,是否可以忽略对跟踪文件的更改?再次,git提供.这个答案; Git:忽略跟踪文件为我们提供命令(替换file为您要忽略的文件):
git update-index --assume-unchanged file
最后,这里有关于调试git ignore的一些额外信息.
该gitignore(5)手册告诉我们:
用户希望Git在所有情况下忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常会进入用户的〜/ .gitconfig中的core.excludesfile指定的文件中.其默认值为$ XDG_CONFIG_HOME/git/ignore.如果$ XDG_CONFIG_HOME未设置或为空,则使用$ HOME/.config/git/ignore.
所以,这是新的,取代了之前~/.gitignore_global提到的.
接下来,这非常有用,从1.8.2开始,我们现在有了一些出色的调试工具.看一下:
这显示了如何使用新check-ignore标志来验证git是否成功忽略了您的模式,例如
git check-ignore bin/a.dll --verbose
XP8*_*P84 11
我发现当我定义global core.excludesfile这样的时候:
git config --global core.excludesfile $HOME/.config/git/ignore
Run Code Online (Sandbox Code Playgroud)
它不起作用.将其更改为不使用$HOME变量,如下所示:
git config --global core.excludesfile ~/.config/git/ignore
Run Code Online (Sandbox Code Playgroud)
它立即开始工作.希望这有助于其他人.
供参考:
$ git --version
git version 1.7.10.2 (Apple Git-33)
Run Code Online (Sandbox Code Playgroud)
注意:启动git1.7.12(2012年8月):
的价值:
core.attributesfile默认为$ HOME/.config/git/attributes和core.excludesfile$HOME/.config/git/ignore这些文件存在时分别默认为 .
因此,如果您创建$HOME/.config/git/attributes文件,则甚至不必设置您的core.excludesfile设置.
| 归档时间: |
|
| 查看次数: |
36966 次 |
| 最近记录: |