我可以忽略本地文件而不污染其他人的全局git配置吗?我的git状态中有未跟踪的文件是垃圾邮件,但我不想为我在本地分支中的每一个未跟踪的小文件提交git配置更改。


当前回答

我认为您正在寻找:

git update-index --skip-worktree FILENAME

忽略本地所做的更改

这里是http://devblog.avdi.org/2011/05/20/keep-local-modifications-in-git-tracked-files/关于这些解决方案的更多说明!

要撤消使用:

git update-index --no-skip-worktree FILENAME

其他回答

您可以简单地将.gitignore文件添加到您的主目录中,即$home/.gitignore/~/.giti忽略。然后告诉git将该文件与命令一起使用:

git config --global core.excludesfile ~/.gitignore

这是一个普通的.gitignore文件,git在决定忽略什么时会引用它。因为它在您的主目录中,所以它只适用于您,不会污染任何project.gitignore文件。

多年来,我一直在使用这种方法,取得了很好的效果。

这是一个简单的单行解决方案,用于排除本地文件。

 echo YOUR_FILE_OR_DIRECTORY >> .git/info/exclude

只需将路径添加到ypu希望从当前回购的任何分支上的提交中删除的文件:

取消隐藏Windows目录设置中的隐藏文件打开路径REPO_MAIN_Path/.git/info/exclude添加例如**/toExcludeFile.bat

就这样!对我来说,上面的答案太长了。KISS-保持简单的愚蠢

我认为您正在寻找:

git update-index --skip-worktree FILENAME

忽略本地所做的更改

这里是http://devblog.avdi.org/2011/05/20/keep-local-modifications-in-git-tracked-files/关于这些解决方案的更多说明!

要撤消使用:

git update-index --no-skip-worktree FILENAME

更新:考虑使用git更新索引--跳过工作树[<file>…],谢谢@danShumway!参见Borealid对两个选项差异的解释。


旧答案:

如果您需要忽略跟踪文件的本地更改(我们对配置文件进行了本地修改),请使用git更新索引--假设未更改[<file>…]。