我想设置Git全局忽略某些文件。

我已经添加了一个.gitignore文件到我的主目录(/Users/me/),我已经添加了以下行:

*.tmproj

但它并没有忽略这种类型的文件,知道我做错了什么吗?


当前回答

从这里。

如果你在你的repo中创建了一个名为.gitignore的文件,git会在查看要提交的文件时使用它的规则。请注意,git不会忽略一个已经被跟踪的文件,在将规则添加到该文件以忽略它之前。在这种情况下,文件必须取消跟踪,通常使用:

git rm --cached filename

是你的案子吗?

其他回答

您应该为此创建一个排除文件。看看这个要点,它是不言自明的。

为了解决您的问题,您可能需要使用git rm—cached path/ To /去索引.tmproj文件(如果您已经将其添加到索引中)。或者git添加并提交你的.gitignore文件。

如果.gitignore方法不适合你,另一个可能的解决方案是:

git update-index --skip-worktree path_to_file

这将忽略对该文件的更改,包括本地和上游,直到您决定再次使用以下命令允许它们:

git update-index --no-skip-worktree path_to_file

你可以得到一个被标记为跳过的文件列表:

git ls-files -v . | grep ^S

注意,与——skip-worktree不同的是,——assume-unchanged状态将在上游更改被拉出后丢失。

虽然其他答案是正确的,但他们正在设置全局配置值,而全局git忽略文件有一个默认的git位置。

你可以通过以下方法检查全局gitignore是否存在:

git config --get core.excludesfile

通常,在不同操作系统上的这些位置可以找到它:

*那晚尼克斯:

~/.config/git/ignore

窗口:

%USERPROFILE%\.config\git\ignore

你可能需要创建git目录和忽略文件,并通过git配置-global core告诉git位置。excludesfile ~ /。Config /git/ignore,然后你可以把全局忽略放到那个文件里,就这样!

将模式放在哪个文件中取决于模式的使用方式。

用户希望Git在所有情况下都忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常会进入core指定的文件中。在用户的~/.gitconfig中的excludesFile。默认值为$XDG_CONFIG_HOME/git/ignore。如果$XDG_CONFIG_HOME未设置或为空,则$HOME/。取而代之的是Config /git/ignore。

我可以通过包含.tmproj或*来忽略.tmproj文件。Tmproj在my /users/me/。gitignore-global文件。

注意文件名是.gitignore-global而不是.gitignore。它不能通过包含.tmproj或*来工作。在/users/me目录下一个名为.gitignore的文件中。

在linux的windows子系统上,我必须通过cd ~/导航到子系统根目录,然后触摸.gitignore,然后在那里更新全局gitignore配置。

我希望它能帮助到一些人。