gitignore 子目录的内容
gitignore 子目录的内容
我有一个目录结构如下:\n
a |-- b | |-- qfq.txt | |-- ewfw.txt | | ... | |-- c | |-- wgfw.txt | |-- wjkh.txt | | ... | ...
\n我需要在`a/*/`目录中忽略所有的txt文件。我尝试了`/a/*/*.txt`和`/a/**/*.txt`,但它们都不起作用。\n请帮忙。谢谢。\n
\n
\n更新:\n问题已解决。
\n`/a/**/*.txt`起作用了。我也了解到git不会提交空文件夹,当时我以为命令没有正常工作,现在明白了。
\n感谢@JonathonReinhar、@phd和pankaj的快速响应。
问题的原因是在git中忽略某个目录下的文件,但是在.gitignore文件中添加规则后,git仍然会跟踪这些文件。解决方法是先将.gitignore文件提交到仓库中,然后git才会开始忽略这些文件。
为了解决这个问题,可以在.gitignore文件中添加以下内容:
$ cat .gitignore a/**/*.txt
然后使用以下命令检查是否生效:
$ find . -name *.txt ./a/c/wjkh.txt ./a/c/wgfw.txt ./a/b/qfq.txt ./a/b/ewfw.txt
但是,使用`git status`命令查看git的状态时,可能会发现仍然显示为clean:
$ git status On branch master nothing to commit, working tree clean
这是因为在.gitignore文件添加规则后,需要先将.gitignore文件提交到仓库中,然后git才会开始忽略这些文件。所以需要将.gitignore文件先提交到仓库中,然后git才会正确忽略这些文件。
希望这能帮到你。谢谢伙计,我懂了。