所以我环顾四周并了解如何将一个被忽略的目录添加到git repo中,但是在我看来所有这些方法都会导致该目录中的每个文件都被添加,即使是那些仍然应该被忽略的文件。
E.G。我有一个名为dir /的被忽略的目录,我想将源包含(.cpp等)添加到git repo,同时仍然将.gitignore文件应用于该目录中的项目(即继续忽略.o文件等)。我认为应该起作用的命令是:
git add --all /path/to/dir/*
然而,这也添加了我仍然想要忽略的文件(.o等)。
有人对此有任何想法吗?在此先感谢您的帮助!
答案 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
(强制)选项添加被忽略的文件。