全球Git无视

问题描述 投票:755回答:11

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

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

*.tmproj

但它并没有忽略这种类型的文件,任何想法我做错了什么?

git global gitignore
11个回答
1292
投票

您需要设置全局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上阅读有关该命令的信息


1
投票
  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'

瞧!


1
投票

如果使用Unix系统,可以用两个命令解决问题。第一次初始化配置,第二次使用要忽略的文件更改文件。

$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore

273
投票

在重新配置全局排除文件之前,您可能希望使用以下命令检查当前配置的内容:

git config --get core.excludesfile

就我而言,当我运行它时,我看到我的全局排除文件已配置为

~/.gitignore_global
and 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.

189
投票

虽然其他答案是正确的,但他们正在设置全局配置值,而全局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。

29
投票

从头开始创建全局gitignore:

$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
  1. 第一行将目录更改为C:/Users/User
  2. 之后,您使用.gitignore_global扩展名创建一个空文件
  3. 最后将全局忽略设置为该文件。
  4. 然后你应该用某种记事本打开它并添加所需的忽略规则。

16
投票

来自here

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

git rm --cached filename

是你的情况吗?


6
投票

记住运行命令

git config --global core.excludesfile '~/.gitignore'

将只设置全局文件,但不会创建它。对于Windows,请检查您的用户目录中的.gitconfig文件,并根据您的偏好进行编辑。就我而言,就像那样:

[core]
  excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore

2
投票

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

请注意,文件名是.gitignore-global而不是.gitignore。它在.tmproj目录中的*.tmproj文件中包含.gitignore/users/me无法正常工作。


1
投票

您应该为此创建一个排除文件。查看this gist这是非常自我解释。

但是,要解决您的问题,您可能需要使用.tmprojgit rm --cached path/to/.tmprojgit addcommit文件取消索引.gitignore文件(如果已经将其添加到索引中)。


1
投票

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

我希望它对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.