我想设置Git全局忽略某些文件 .
我已将 .gitignore 文件添加到我的用户根目录( Users/me/ ),并且我已向其添加以下行:
.gitignore
Users/me/
*.tmproj
但它并没有忽略这种类型的文件,任何想法我做错了什么?
在Windows子系统上用于linux我必须通过 cd ~/ 然后 touch .gitignore 导航到子系统根目录,然后在那里更新全局gitignore配置 .
cd ~/
touch .gitignore
我希望它对某人有帮助 .
您应该为此创建一个排除文件 . 查看this gist,这是非常自我解释 .
但是,要解决您的问题,您可能需要使用 git rm --cached path/to/.tmproj 或 git add 和 commit .gitignore 文件将 .tmproj 文件(如果您已将其添加到索引中)取消索引 .
git rm --cached path/to/.tmproj
git add
commit
.tmproj
我可以通过在 /users/me/.gitignore-global 文件中包含 .tmproj 或 *.tmproj 来忽略 .tmproj 文件 .
/users/me/.gitignore-global
请注意,文件名是 .gitignore-global 而不是 .gitignore . 通过将 .tmproj 或 *.tmproj 包含在 /users/me 目录中名为 .gitignore 的文件中,它无法正常工作 .
.gitignore-global
/users/me
您需要设置全局 core.excludesfile 配置文件以指向此全局忽略文件 .
core.excludesfile
例如
git config --global core.excludesfile '~/.gitignore'
Windows cmd:
git config --global core.excludesfile "%USERPROFILE%\.gitignore"
对于Windows,它设置为位置C:/ users / / .gitignore . 上面的命令只会设置git将使用的忽略文件的位置 . 该文件仍必须在该位置手动创建并填充忽略列表 . (来自muruge的评论)
你可以在https://help.github.com/articles/ignoring-files/#create-a-global-gitignore阅读有关命令的信息 .
在重新配置全局排除文件之前,您可能希望使用以下命令检查当前配置的内容:
git config --get core.excludesfile
就我而言,当我运行它时,我看到我的全局排除文件已配置为
~/.gitignore_global
那里已经列出了几件东西 . 因此,在给定问题的情况下,首先检查现有的排除文件并向其添加新的文件掩码可能是有意义的 .
虽然其他答案是正确的,但他们正在设置全局配置值,而全局git ignore文件有一个默认的git位置:
~/.config/git/ignore
视窗:
%USERPROFILE%\git\ignore
您可能需要创建 git 目录和 ignore 文件,但是您可以将全局忽略放入该文件中,就是这样!
git
ignore
Source
放置模式的文件取决于模式的使用方式 .
...
用户希望Git在所有情况下忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常会进入用户〜/ .gitconfig中core.excludesFile指定的文件 . 其默认值为$ 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
C:/Users/User
之后,您创建一个扩展名为 .gitignore_global 的空文件
.gitignore_global
最后将全局忽略设置为该文件 .
然后你应该用某种记事本打开它并添加所需的忽略规则 .
从here .
如果您在名为.gitignore的repo中创建一个文件,git将在查看要提交的文件时使用其规则 . Note that git will not ignore a file that was already tracked before a rule was added to this file to ignore it. 在这种情况下,必须取消跟踪文件,通常使用:
git rm --cached filename
是你的情况吗?
记住运行命令
将只设置全局文件,但不会创建它 . 对于Windows,请检查用户目录中的 .gitconfig 文件,并根据您的首选项进行编辑 . 就我而言,就像那样:
.gitconfig
[core] excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore
9 回答
在Windows子系统上用于linux我必须通过
cd ~/
然后touch .gitignore
导航到子系统根目录,然后在那里更新全局gitignore配置 .我希望它对某人有帮助 .
您应该为此创建一个排除文件 . 查看this gist,这是非常自我解释 .
但是,要解决您的问题,您可能需要使用
git rm --cached path/to/.tmproj
或git add
和commit
.gitignore
文件将.tmproj
文件(如果您已将其添加到索引中)取消索引 .我可以通过在
/users/me/.gitignore-global
文件中包含.tmproj
或*.tmproj
来忽略.tmproj
文件 .请注意,文件名是
.gitignore-global
而不是.gitignore
. 通过将.tmproj
或*.tmproj
包含在/users/me
目录中名为.gitignore
的文件中,它无法正常工作 .您需要设置全局
core.excludesfile
配置文件以指向此全局忽略文件 .例如
Windows cmd:
对于Windows,它设置为位置C:/ users / / .gitignore . 上面的命令只会设置git将使用的忽略文件的位置 . 该文件仍必须在该位置手动创建并填充忽略列表 . (来自muruge的评论)
你可以在https://help.github.com/articles/ignoring-files/#create-a-global-gitignore阅读有关命令的信息 .
在重新配置全局排除文件之前,您可能希望使用以下命令检查当前配置的内容:
就我而言,当我运行它时,我看到我的全局排除文件已配置为
那里已经列出了几件东西 . 因此,在给定问题的情况下,首先检查现有的排除文件并向其添加新的文件掩码可能是有意义的 .
虽然其他答案是正确的,但他们正在设置全局配置值,而全局git ignore文件有一个默认的git位置:
视窗:
您可能需要创建
git
目录和ignore
文件,但是您可以将全局忽略放入该文件中,就是这样!Source
...
从头开始创建全局gitignore:
第一行将目录更改为
C:/Users/User
之后,您创建一个扩展名为
.gitignore_global
的空文件最后将全局忽略设置为该文件 .
然后你应该用某种记事本打开它并添加所需的忽略规则 .
从here .
如果您在名为.gitignore的repo中创建一个文件,git将在查看要提交的文件时使用其规则 . Note that git will not ignore a file that was already tracked before a rule was added to this file to ignore it. 在这种情况下,必须取消跟踪文件,通常使用:
是你的情况吗?
记住运行命令
将只设置全局文件,但不会创建它 . 对于Windows,请检查用户目录中的
.gitconfig
文件,并根据您的首选项进行编辑 . 就我而言,就像那样: