将所有文件添加到Git中,但忽略.gitignore文件中指定的文件。

155

我正在为一个之前没有使用源代码控制的项目添加源代码控制。问题是有很多文件需要在初次添加到Git中,并且需要使用一个.gitignore文件,但我不知道如何在不包括与.gitignore文件中匹配的文件的情况下添加所有文件。

git add *

由于检测到被 .gitignore 忽略的文件,上述命令不会添加任何文件。

git add -f *

上述命令将添加所有文件,包括我想要忽略的文件。

那么,如何在遵循.gitignore文件的情况下添加所有文件?

5个回答

288

我认为你的意思是git add .,它会将所有未在.gitignore中指定的文件添加到仓库中 - 你可以通过输入git status来查看这些更改。

在bash中,.通常表示此目录和所有其他目录递归地包括在内。因此,如果您从存储库的底层执行此操作,则应添加所有文件。

我通常的git流程是创建.gitignore文件并将项目文件添加到仓库中。导入文件后,我会通过输入git status测试.gitignore文件 - 如果我看到我已经添加的文件(例如只有.php或.html文件,而不是.mp3或.mov文件),那么您可以使用git add .添加所有文件,然后使用git commit -m“initial commit”进行提交,然后您就可以了。


5
如果我运行 git add --all .,与在这种情况下运行 git add . 有什么区别? - Katedral Pillon
2
它与git add .相同。 - user454232

35
git add .
这将添加所有路径并忽略.gitignore中匹配的内容。

14
尝试使用git add .(意为“添加当前目录及其子目录中的所有文件”)。

6
另一种选择是使用Git仓库的exclude文件。该文件与.gitignore文件类似,但不会提交到仓库中。
根据Github文档所述:
您可以将此技术用于本地生成的文件,您不希望其他用户生成此类文件,例如编辑器创建的文件。
使用您喜欢的文本编辑器打开位于Git存储库根目录下的名为.git/info/exclude的文件。您在此处添加的任何规则都不会被检查,并且只会忽略本地存储库中的文件。
按照以下步骤操作:
1. 在终端中导航至您的Git存储库位置 2. 使用您喜欢的文本编辑器打开文件.git/info/exclude 3. 添加规则到exclude文件,就像添加到.gitignore文件一样

0
我的项目中仍包含我告诉它要忽略的文件,所以我做了如下操作... 我将 " .gitignore " 添加到 gitignore 文件中, 然后尝试执行 " git status " 命令,这时我想忽略的文件就被成功地忽略掉了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接