我想设置Git全局忽略某些文件。
我已经添加了一个.gitignore文件到我的主目录(/Users/me/),我已经添加了以下行:
*.tmproj
但它并没有忽略这种类型的文件,知道我做错了什么吗?
我想设置Git全局忽略某些文件。
我已经添加了一个.gitignore文件到我的主目录(/Users/me/),我已经添加了以下行:
*.tmproj
但它并没有忽略这种类型的文件,知道我做错了什么吗?
当前回答
在重新配置全局排除文件之前,你可能想要检查它当前配置为什么,使用以下命令:
git config --get core.excludesfile
在我的例子中,当我运行它时,我看到我的全局排除文件被配置为~/。Gitignore_global上面已经列出了一些东西。因此,在给定问题的情况下,首先检查现有的排除文件,并向其添加新的文件掩码可能是有意义的。
其他回答
记住,运行命令
git config --global core.excludesfile '~/.gitignore'
只会设置全局文件,而不会创建全局文件。 对于Windows,检查Users目录下的.gitconfig文件,并根据您的喜好编辑它。对我来说是这样的:
[core]
excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore
从这里。
如果你在你的repo中创建了一个名为.gitignore的文件,git会在查看要提交的文件时使用它的规则。请注意,git不会忽略一个已经被跟踪的文件,在将规则添加到该文件以忽略它之前。在这种情况下,文件必须取消跟踪,通常使用:
git rm --cached filename
是你的案子吗?
如果.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 rm—cached path/ To /去索引.tmproj文件(如果您已经将其添加到索引中)。或者git添加并提交你的.gitignore文件。
在重新配置全局排除文件之前,你可能想要检查它当前配置为什么,使用以下命令:
git config --get core.excludesfile
在我的例子中,当我运行它时,我看到我的全局排除文件被配置为~/。Gitignore_global上面已经列出了一些东西。因此,在给定问题的情况下,首先检查现有的排除文件,并向其添加新的文件掩码可能是有意义的。