我想设置Git全局忽略某些文件。
我已将.gitignore
个文件添加到我的用户根目录(Users/me/
),并在其中添加了以下行:
*.tmproj
但它并没有忽略这种类型的文件,不知道我做错了什么?
答案 0 :(得分:1273)
您需要设置全局core.excludesfile
配置文件以指向此全局忽略文件。
e.g。
* 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
了解该命令答案 1 :(得分:268)
在重新配置全局排除文件之前,您可能希望使用以下命令检查当前配置的内容:
git config --get core.excludesfile
在我的情况下,当我运行它时,我看到我的全局排除文件已配置为
~/.gitignore_global并且已经列出了一些内容。因此,在给定问题的情况下,首先检查现有的排除文件并向其添加新的文件掩码可能是有意义的。
答案 2 :(得分:183)
虽然其他答案是正确的,但他们正在设置全局配置值,而全局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。
答案 3 :(得分:26)
从头开始创建全局gitignore:
$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
C:/Users/User
.gitignore_global
扩展名为答案 4 :(得分:16)
来自here。
如果您在名为.gitignore的repo中创建一个文件,git将在查看要提交的文件时使用其规则。 请注意,在将规则添加到此文件中以忽略它之前,git不会忽略已经跟踪过的文件。在这种情况下,必须取消跟踪文件,通常使用:
git rm --cached filename
是你的情况吗?
答案 5 :(得分:5)
请记住运行命令
git config --global core.excludesfile '~/.gitignore'
只会设置全局文件,但不会创建它。
对于Windows,请检查您的用户目录中的.gitconfig
文件,并根据您的偏好进行编辑。就我而言,就像那样:
[core]
excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore
答案 6 :(得分:1)
您应该为此创建一个排除文件。查看this gist这是非常自我解释的。
要解决您的问题,您可能需要使用.tmproj
或git rm --cached path/to/.tmproj
将git add
文件(如果您已将其添加到索引中)取消索引。 commit
您的.gitignore
文件。
答案 7 :(得分:1)
我可以通过在.tmproj
文件中加入.tmproj
或*.tmproj
来忽略/users/me/.gitignore-global
文件。
请注意,文件名为.gitignore-global
而不是.gitignore
。将.tmproj
或*.tmproj
包含在.gitignore
目录中名为/users/me
的文件中无效。
答案 8 :(得分:1)
如果使用Unix系统,则可以通过两个命令解决问题。 第一个初始化配置,第二个修改文件,并带有要忽略的文件。
$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore
答案 9 :(得分:0)
在Linux的Windows子系统上,我必须先依次mask1 = df2['PRODUCT'].str[:2] == 'DE'
mask2 = ~df2['PRODUCT'].isin(['DE998', 'DE999'])
res = df2[mask1 & mask2]
和cd ~/
导航到子系统根目录,然后在那里更新全局gitignore配置。
我希望它能对某人有所帮助。
答案 10 :(得分:0)
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'
Voila !!
答案 11 :(得分:0)
如果您使用的是VSCODE,则可以获取此扩展名来为您处理任务。 每次保存工作时,它都会监视您的工作空间,并帮助您自动忽略在vscode settings.json中指定的文件和文件夹。 ignoreit (vscode extension)