我想设置Git全局忽略某些文件。
我已经添加了一个.gitignore文件到我的主目录(/Users/me/),我已经添加了以下行:
*.tmproj
但它并没有忽略这种类型的文件,知道我做错了什么吗?
我想设置Git全局忽略某些文件。
我已经添加了一个.gitignore文件到我的主目录(/Users/me/),我已经添加了以下行:
*.tmproj
但它并没有忽略这种类型的文件,知道我做错了什么吗?
当前回答
在重新配置全局排除文件之前,你可能想要检查它当前配置为什么,使用以下命令:
git config --get core.excludesfile
在我的例子中,当我运行它时,我看到我的全局排除文件被配置为~/。Gitignore_global上面已经列出了一些东西。因此,在给定问题的情况下,首先检查现有的排除文件,并向其添加新的文件掩码可能是有意义的。
其他回答
如果你正在使用VSCODE,你可以让这个扩展为你处理任务。 每次保存工作时,它都会监视您的工作空间,并帮助您自动忽略在vscode settings.json中指定的文件和文件夹 Ignoreit (vscode扩展)
虽然其他答案是正确的,但他们正在设置全局配置值,而全局git忽略文件有一个默认的git位置。
你可以通过以下方法检查全局gitignore是否存在:
git config --get core.excludesfile
通常,在不同操作系统上的这些位置可以找到它:
*那晚尼克斯:
~/.config/git/ignore
窗口:
%USERPROFILE%\.config\git\ignore
你可能需要创建git目录和忽略文件,并通过git配置-global core告诉git位置。excludesfile ~ /。Config /git/ignore,然后你可以把全局忽略放到那个文件里,就这样!
源
将模式放在哪个文件中取决于模式的使用方式。
…
用户希望Git在所有情况下都忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常会进入core指定的文件中。在用户的~/.gitconfig中的excludesFile。默认值为$XDG_CONFIG_HOME/git/ignore。如果$XDG_CONFIG_HOME未设置或为空,则$HOME/。取而代之的是Config /git/ignore。
如果.gitignore方法不适合你,另一个可能的解决方案是:
git update-index --skip-worktree path_to_file
这将忽略对该文件的更改,包括本地和上游,直到您决定再次使用以下命令允许它们:
git update-index --no-skip-worktree path_to_file
你可以得到一个被标记为跳过的文件列表:
git ls-files -v . | grep ^S
注意,与——skip-worktree不同的是,——assume-unchanged状态将在上游更改被拉出后丢失。
我可以通过包含.tmproj或*来忽略.tmproj文件。Tmproj在my /users/me/。gitignore-global文件。
注意文件名是.gitignore-global而不是.gitignore。它不能通过包含.tmproj或*来工作。在/users/me目录下一个名为.gitignore的文件中。
在主目录中创建一个.gitignore文件
touch ~/.gitignore
向其中添加文件/文件夹
例子
# Files
*.gz
*.tmproj
*.7z
# Folders
.vscode/
build/
# If folders don't work, you can still do this
.vscode/*
build/*
检查git是否已经有一个全局gitignore
git config --get core.excludesfile
告诉git文件在哪里
git config --global core.excludesfile '~/.gitignore'
瞧! !