gitignore 子目录的内容

9 浏览
0 Comments

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的快速响应。

0
0 Comments

问题的原因是在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才会正确忽略这些文件。

希望这能帮到你。谢谢伙计,我懂了。

0