我的.gitignore
文件指示忽略该../../.aws/
目录:
$ cat .gitignore
coredumps/
../../.aws/
.*.sw*
*bak
*log
唉,这条指令被忽略了:
$ git status | head -6
# On branch main
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../../.aws/
# ../../.bash_history
我应该如何更改 my.gitignore
以便将 the ../../.aws/
will 从输出中排除git status
?
答案1
该.gitignore
文件适用于所在目录及其子目录下的文件。它不适用于父目录或其其他子目录。您试图忽略,它是您的文件所在位置../../.aws/
上方的两个目录。.gitignore
以下是处理此问题的几种方法:
将
.gitignore
文件放在适当的目录中:如果您能够将.gitignore
文件放入该.aws/
目录或其直接父目录中,则可以这样做。在该.gitignore
文件中,您将添加一个条目来忽略该.aws/
目录。使用全局
.gitignore
文件:如果您想在所有 Git 存储库中忽略这样的文件,您可以创建一个全局.gitignore
文件:git config --global core.excludesfile '~/.gitignore_global'
然后你可以添加
.aws/
到这个~/.gitignore_global
文件中。
请记住,如果.aws/
目录中的文件以前被 Git 跟踪过,您需要在 Git 开始忽略它们之前将它们从存储库中删除。您可以使用以下命令执行此操作,而无需删除文件的本地副本:
git rm --cached -r .aws/
运行此命令后,Git 将停止跟踪目录中的更改.aws/
。