Git忽略被忽略文件的目录

时间:2015-11-24 17:11:13

标签: git

我想从src / mainsrc目录添加文件,因此我运行git add src/mainsrc/*

The following paths are ignored by one of your .gitignore files:
src/mainsrc/main.o
Use -f if you really want to add them.
fatal: no files added

这不好。我想在src / mainsrc 中添加所有内容,除了被忽略的文件。

我不想使用-f,因为我不想添加.o文件。我不想手工添加src / mainsrc中的所有文件,因为我可能会错过一些东西。 git add src/mainsrc/*.cpp只有.cpp文件。我该怎么办?

2 个答案:

答案 0 :(得分:0)

git add src/mainsrc

事实证明,任何显式命名的被忽略文件都会导致添加失败,并且*中包含的任何不在子目录中的文件都被认为是显式添加的。

  

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

- git add man

答案 1 :(得分:0)

如果要忽略src/mainsrc/目录中的所有非目标文件,只需将.gitignore文件修改为src/mainsrc/*.o而不是src/mainsrc/。然后,您只需键入:git add src/mainsrc/,它将暂存所有非目标文件。