我如何配置git忽略本地的一些文件?
我可以忽略本地文件而不会污染其他人的全局git配置吗? 我在我的git状态中有未被跟踪的垃圾邮件文件,但我不想为我在本地分支机构中的每个小随机未跟踪文件提交git config更改。
从相关的Git文档:
特定于特定存储库但不需要与其他相关存储库共享的模式(例如存储在存储库内但是特定于一个用户工作流的辅助文件)应该放入$GIT_DIR/info/exclude
文件中。
.git/info/exclude
文件具有与任何.gitignore
文件相同的格式。 另一个选项是将core.excludesFile
设置为包含全局模式的文件的名称。
请注意,如果您已经有非稳定的更改,则必须在编辑忽略模式后运行以下命令:
git update-index --assume-unchanged [<file>...]
关于$GIT_DIR
注意事项:这是一个在整个git手册中使用的表示法,仅用于指示git存储库的路径。 如果设置了环境变量,那么它将覆盖您所在的任何回购的位置,这可能不是您想要的。
更新:考虑使用git update-index --skip-worktree [<file>...]
来代替,谢谢@danShumway! 见Borealid对两种选择不同的解释。
老答案:
如果您需要忽略对跟踪文件的本地更改(我们通过本地修改配置文件),请使用git update-index --assume-unchanged [<file>...]
。
将以下行添加到.gitconfig文件的[别名]部分
ignore = update-index --assume-unchanged
unignore = update-index --no-assume-unchanged
ignored = !git ls-files -v | grep "^[[:lower:]]"
现在你可以使用git ignore my_file
忽略对本地文件的更改,并且git unignore my_file
停止忽略更改。 git ignored
列出了被忽略的文件。
这个答案是从http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html收集到的。
链接地址: http://www.djcxy.com/p/6153.html上一篇: How do I configure git to ignore some files locally?
下一篇: How do you tell if a string contains another string in Unix shell scripting?