我想设置Git全局忽略某些文件。
我在我的用户根目录(.gitignore
)中添加了一个Users/me/
文件,并在其中添加了以下行:
*.tmproj
但它并没有忽略这种类型的文件,任何想法我做错了什么?
您需要设置全局core.excludesfile
配置文件以指向此全局忽略文件。
EG
* nix或Windows git bash:
git config --global core.excludesfile '~/.gitignore'
Windows cmd:
git config --global core.excludesfile "%USERPROFILE%\.gitignore"
对于Windows,它设置为位置C:/ users / {myusername} / .gitignore。上面的命令只会设置git将使用的忽略文件的位置。该文件仍然必须在该位置手动创建并填充忽略列表。(来自muruge的评论)
您可以在https://help.github.com/articles/ignoring-files/#create-a-global-gitignore上阅读有关该命令的信息
touch ~/.gitignore
例
# these work
*.gz
*.tmproj
*.7z
# these won't as they are folders
.vscode/
build/
# but you can do this
.vscode/*
build/*
git config --get core.excludesfile
git config --global core.excludesfile '~/.gitignore'
瞧!
如果使用Unix系统,可以用两个命令解决问题。第一次初始化配置,第二次使用要忽略的文件更改文件。
$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore
在重新配置全局排除文件之前,您可能希望使用以下命令检查当前配置的内容:
git config --get core.excludesfile
就我而言,当我运行它时,我看到我的全局排除文件已配置为
~/.gitignore_globaland there were already a couple things listed there. So in the case of the given question, it might make sense to first check for an existing excludes file, and add the new file mask to it.
虽然其他答案是正确的,但他们正在设置全局配置值,而全局git ignore文件有一个默认的git位置:
* NIX:
~/.config/git/ignore
视窗:
%USERPROFILE%\git\ignore
您可能需要创建git
目录和ignore
文件,但是您可以将全局忽略放入该文件中,就是这样!
放置模式的文件取决于模式的使用方式。
…
- 用户希望Git在所有情况下忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常会进入用户
core.excludesFile
中由~/.gitconfig
指定的文件。其默认值为$ XDG_CONFIG_HOME / git / ignore。如果$ XDG_CONFIG_HOME未设置或为空,则使用$ HOME / .config / git / ignore。
从头开始创建全局gitignore:
$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
C:/Users/User
.gitignore_global
扩展名创建一个空文件来自here。
如果您在名为.gitignore的repo中创建一个文件,git将在查看要提交的文件时使用其规则。请注意,在将规则添加到此文件以忽略它之前,git不会忽略已跟踪的文件。在这种情况下,必须取消跟踪文件,通常使用:
git rm --cached filename
是你的情况吗?
记住运行命令
git config --global core.excludesfile '~/.gitignore'
将只设置全局文件,但不会创建它。对于Windows,请检查您的用户目录中的.gitconfig
文件,并根据您的偏好进行编辑。就我而言,就像那样:
[core]
excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore
我可以通过在.tmproj
文件中包含.tmproj
或*.tmproj
来忽略/users/me/.gitignore-global
文件。
请注意,文件名是.gitignore-global
而不是.gitignore
。它在.tmproj
目录中的*.tmproj
文件中包含.gitignore
或/users/me
无法正常工作。
您应该为此创建一个排除文件。查看this gist这是非常自我解释。
但是,要解决您的问题,您可能需要使用.tmproj
或git rm --cached path/to/.tmproj
和git add
将commit
文件取消索引.gitignore
文件(如果已经将其添加到索引中)。
在windows子系统上用于linux我必须通过cd ~/
然后touch .gitignore
导航到子系统根目录,然后在那里更新全局gitignore配置。
我希望它对某人有帮助。