有没有一种方便的方法来添加所有文件排除.gitignore 中的文件?

Is there a convenient way to add all the files exclude the files in .gitignore?

我想使用 git 添加 repo 下的所有文件,排除 .gitignore contains:

我用git add *,但它会说:

$ git add *
The following paths are ignored by one of your .gitignore files:
media
venv
Use -f if you really want to add them. 

我不想添加它们,我只想添加除 .gitignore 写入之外的所有文件。并寻找一种简单的方法来做到这一点,比如 add *,但它报告了上面的问题。所以就我而言,我只能一项一项地添加。

有没有方便的实现方式?

我相信您在 .gitignore 文件中提到了一些文件,例如 media、venv。 Git 只是表示它没有添加。否则,您添加的所有其他文件应该已经添加。您可以使用 "git status" 查看已添加文件的列表。

运行:

$ git add *

* 匹配时,比如说 foo.c foo.h foo.ofoo.cc foo.h foo.o,而您的 .gitignore 说要忽略 *.o,会产生该警告——但它 添加了除 .o 文件以外的所有文件。 (或者,在你的情况下,它添加了除 mediavenv 之外的所有内容。)所以你 没有 在这里做任何不同的事情。

不过,如果您想避免警告,可以 运行 git add . 代替。 Unix/Linux 机器上的主要区别在于 git add . 将添加点文件,如果不忽略它们,git add * 将跳过,因为 shell * 扩展会跳过它们。