我正在向一个没有源代码控制的项目添加源代码控制。问题是,有很多文件最初需要使用 .gitignore 文件添加到 git,但我不知道如何在不包含与 .gitignore 文件中匹配的文件的情况下添加所有文件。
git add *
上面的命令不会添加任何文件,因为它检测到被 .gitignore 忽略的文件。
git add -f *
上述命令将添加所有文件,包括我希望忽略的文件。
那么,如何在仍然遵守 .gitignore 文件的情况下添加所有文件?
我认为你的意思是
git add .
它将把所有未在 .gitignore
中指定的文件添加到存储库中 - 您可以通过输入 git status
来查看这些更改
bash 中的
.
通常表示该目录以及所有其他递归目录,因此如果您从存储库的底层执行此操作,则应该添加所有文件。
我通常的 git 流程是创建
.gitignore
文件并将项目文件添加到存储库中。导入文件后,我将通过键入 .gitignore
来测试 git status
文件 - 如果我看到我添加的文件(例如仅 .php 或 .html,而不是 .mp3 或 .mov),那么您可以git add .
添加全部,然后 git commit -m "initial commit"
提交它们,您应该已经设置好了。
git add .
这将添加所有路径并忽略来自 .gitignore 的匹配
尝试
git add .
(意思是“添加当前目录及以下目录中的所有文件”)
另一个选项是使用 Git 存储库的
exclude
文件。此文件的工作方式与 .gitignore
文件类似,但未提交到存储库。
来自 Github 文档:
您可以将此技术用于您不希望其他用户生成的本地生成的文件,例如由您的编辑器创建的文件。
使用您最喜欢的文本编辑器打开 Git 存储库根目录中名为
.git/info/exclude
的文件。您在此处添加的任何规则都不会被签入,并且只会忽略本地存储库的文件。
.git/info/exclude
exclude
文件,就像添加到 .gitignore
文件一样我的仍然包含我告诉它忽略的文件,所以我这样做了...... 我添加到 gitignore -> “ .gitignore ” 然后我尝试了“git status”,我想要忽略的文件被忽略了。
对于使用
Staged
/Unstaged
视图的用户,您可以通过添加 Unstaged
标志将所有内容添加到 -N
区域,如下所示:
git add -N .