Git - 在被忽略的目录中添加文件,但仍然将gitignore应用于内容

时间:2016-02-16 15:51:08

标签: git gitignore

所以我环顾四周并了解如何将一个被忽略的目录添加到git repo中,但是在我看来所有这些方法都会导致该目录中的每个文件都被添加,即使是那些仍然应该被忽略的文件。

E.G。我有一个名为dir /的被忽略的目录,我想将源包含(.cpp等)添加到git repo,同时仍然将.gitignore文件应用于该目录中的项目(即继续忽略.o文件等)。我认为应该起作用的命令是:

git add --all /path/to/dir/*

然而,这也添加了我仍然想要忽略的文件(.o等)。

有人对此有任何想法吗?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这表明以下两件事之一:

  • 您的.gitignore未正确设置
  • 您正试图追溯忽略目录

man gitignore说:

  

gitignore文件指定Git应忽略的故意未跟踪文件。 Git已经跟踪的文件不受影响;有关详细信息,请参阅下面的注释。

     

gitignore文件的目的是确保Git未跟踪的某些文件保持未跟踪。

     

要停止跟踪当前跟踪的文件,请使用git rm --cached。

Stackoverflow上有一个问题,它给你一个更复杂的命令,但我认为接受的答案是危险的,所以我不会链接到它

现在,.gitignore提供了man git add未正确设置或应用您想要未跟踪的文件的最大迹象:

  

默认情况下,git add命令不会添加被忽略的文件。如果在命令行中显式指定了任何被忽略的文件,git add将失败并显示一个被忽略的文件列表。由Git执行的目录递归或文件名通配所达到的忽略文件(在shell之前引用你的globs)将被默默忽略。 git add命令可用于使用-f(强制)选项添加被忽略的文件。