全球Git无视

时间:2011-09-07 14:16:12

标签: git global gitignore

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

我已将.gitignore个文件添加到我的用户根目录(Users/me/),并在其中添加了以下行:

*.tmproj

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

12 个答案:

答案 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文件,但之后您可以将全局忽略放入该文件中,并将其删除!

Source

  

放置模式的文件取决于模式的使用方式。

...

  
      
  • 用户希望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
  1. 第一行将目录更改为C:/Users/User
  2. 之后,您创建一个.gitignore_global扩展名为
  3. 的空文件
  4. 最后将全局忽略设置为该文件。
  5. 然后你应该用某种记事本打开它并添加所需的忽略规则。

答案 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这是非常自我解释的。

要解决您的问题,您可能需要使用.tmprojgit rm --cached path/to/.tmprojgit 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)

  1. 在您的主目录中创建一个.gitignore文件
touch ~/.gitignore
  1. 向其中添加文件(无法识别文件夹

示例

# these work
*.gz
*.tmproj
*.7z

# these won't as they are folders
.vscode/
build/

# but you can do this
.vscode/*
build/*
  1. 检查git是否已经具有全局gitignore
git config --get core.excludesfile
  1. 告诉git文件在哪里
git config --global core.excludesfile '~/.gitignore'

Voila !!

答案 11 :(得分:0)

如果您使用的是VSCODE,则可以获取此扩展名来为您处理任务。 每次保存工作时,它都会监视您的工作空间,并帮助您自动忽略在vscode settings.json中指定的文件和文件夹。 ignoreit (vscode extension)