将之前被忽略的目录添加到 Git 仓库中。

47

我的.gitignore文件看起来像这样:

html/
cache/
resources/
# Temp files often created by editors
*.~

我想开始跟踪一个特定的html目录,所以我添加了`!html/support/`

html/
cache/
resources/
# Temp files often created by editors
*.~
# Track support
!html/support/

不过,即使这样做了,Git 仍然似乎没有跟踪 html/support/ 及其所有子目录。

如何将之前被忽略的目录添加到 Git 存储库中?


git 不会跟踪目录,它只会跟踪文件,而且只会跟踪你告诉它的那些文件。你必须明确地告诉它使用 git add ... 开始跟踪某个文件。 - twalberg
3个回答

80

不忽略并不意味着追踪。

只需使用

git add html/support/

在您的Git存储库的根目录下。

如果该文件仍被忽略,您可以使用 git add -f 命令强制添加它(这不会修改 .gitignore 文件,只是允许一个小例外):

git add -f html/support/

谢谢,blue。对于我的例子,应该是 git add html/support 吗? - user1032531
是的,就是那样。 - blue112
2
更改 .gitignore 后,您是否需要重新启动 git 或其他操作?当我尝试添加目录时,会出现以下提示:“The following paths are ignored by one of your .gitignore files: html/support. Use -f if you really want to add them. fatal: no files added”。 - user1032531
@user1032531 - 在添加文件时,根据建议使用-f选项。你看到的消息只是意味着仓库仍然设置为忽略该目录。作为blue112答案的推论,即使文件被视为被忽略,你仍然可以强制将其添加到要跟踪的repo中。 - Yawar

1
你的 .gitignore 文件应该添加这一行:
!html/support/**

如果您投反对票,请说明原因。否则很难改进答案。 - Ogglas

0

您可以直接前往位于 .gitignore 文件所在的目录。该文件包含了所有被忽略的文件。您只需删除相应的文件列表并保存,然后刷新项目即可提交这些文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接