我可以制作用户特定的gitignore文件吗?


112

我想更改gitignore,但并非团队中的所有人都希望这些更改。用户如何拥有自己的特定git忽略文件?

Answers:


93

对于特定于用户和特定于回购的文件,您应该填充以下文件:

$ GIT_DIR /信息/排除

通常$ GIT_DIR代表:

your_repo_path / .git /


5
对于那些对路径感到困惑的人:your_repo/.git/info/exclude。该文件的格式类似于标准的.gitignore文件。
Stevoisiak

3
如果您的文件已经包含未分级的变化,你可能需要运行git update-index --skip-worktree [<file>...](从hashrocket.com/blog/posts/...
丹尼尔·奥利瓦雷斯

118

您可以使用创建自己的.gitignore

git config --global core.excludesfile $HOME/.gitignore

然后将所需的条目放入该文件。


16
如果您不希望它是全球性的,则可以将.user_gitignore文件放在repo的.git目录下,并使用git config core.excludesfile .git/.user_gitignore
orad

6
Tim Pope的专业提示:使用,~/.cvsignore因为rsync之类的实用程序也会使用此文件。
彼得·林克

4
@orad我认为您的评论值得作为自己的单独答案。
Stevoisiak

考虑到orad / Dave的建议将覆盖core.excludesfile指向全局忽略文件的默认值,即:~/.gitignore。如果您要保留全局排除项,并且还具有存储库特定的排除项,则@grzuy的答案就是解决方法
sgimeno

1
我一定在这里想念什么。我执行了此命令,但是没有~/.gitignore文件,所以我创建了一个。我只输入了一个条目:knexfile.js当我回到仓库并运行时,git status我仍然将文件放在更改列表中。
anon58192932 '18

34

在他们的.gitconfig中:

[core]
    excludesfile = ~/.global_gitignore

这样,他们可以全局忽略某些类型的文件。每个用户可以拥有自己的全局忽略文件。


1
您可以访问.gitconfig运行git config --local -e在回购你想
彼得·格雷厄姆

6

例如,您要忽略~/some/path/.idea文件夹:

# 1. Add .idea to user specific gitignore file
echo .idea > ~/.gitignore

# 2. Add gitignore file to gitconfig
git config --global core.excludesfile ~/.gitignore

3

Atlassian的.gitignore教程中所述,您还可以使用您的repo <repo>/.git/info/exclude文件,您可以使用任何文本编辑器轻松地对其进行编辑。它的工作原理与相同.gitignore

我可以轻松地忽略自己的intelliJ文件,个人dockerfile和仅需要使用的内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.