该命令git add [--all|-A]似乎与git add ..相同.它是否正确?如果没有,它们有何不同?
我有一个Git仓库,我已经删除了使用rm(不是 git rm)的四个文件,我的Git状态如下所示:
# deleted: file1.txt
# deleted: file2.txt
# deleted: file3.txt
# deleted: file4.txt
Run Code Online (Sandbox Code Playgroud)
如何从Git中删除这些文件,而无需手动浏览并添加如下所示的每个文件:
git rm file1 file2 file3 file4
Run Code Online (Sandbox Code Playgroud)
理想情况下,我正在寻找能够以同样方式工作的东西git add .,如果可能的话.
可能重复:
从已从磁盘中删除的Git存储库中删除多个文件
如果我从磁盘中删除了一些文件,它们会像Git repo中那样被删除:
C:\git\bc>git status
# On branch tracking2
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: test.txt
#
Run Code Online (Sandbox Code Playgroud)
有没有办法执行单个命令"只是从存储库中删除这些文件"?
类似于git add .将所有新的和修改过的文件添加到舞台上.
我使用Visual Studio和Windows资源管理器来处理我的源代码树,在某些时候我只删除了一大堆文件.然后我发现调用很痛苦,git rm因为文件不再存在,并且没有命令行intellisense来帮助我输入它.
我只想要一个命令,删除git中也从磁盘中删除的所有文件.
我在变更集中有一堆文件,但我想特别忽略一个修改过的文件.看起来像这样git status:
# modified: main/dontcheckmein.txt
# deleted: main/plzcheckmein.c
# deleted: main/plzcheckmein2.c
...
Run Code Online (Sandbox Code Playgroud)
有没有办法可以做git add但只是忽略我不想触摸的一个文本文件?就像是:
git add -u -except main/dontcheckmein.txt
Run Code Online (Sandbox Code Playgroud) 假设我的git repostiory中有一个文件叫做foo.
假设它已被删除rm(不是git rm).然后git状态将显示:
Changes not staged for commit:
deleted: foo
Run Code Online (Sandbox Code Playgroud)
如何暂存此单个文件?
如果我尝试:
git add foo
Run Code Online (Sandbox Code Playgroud)
它说:
'foo' did not match any files.
Run Code Online (Sandbox Code Playgroud) 当我在我的项目中有开发人员访问权限时将代码推送到git时出现问题,但是当我有主访问权限时一切正常.问题出在哪里?以及如何解决它?
错误信息:
错误:您不能将代码推送到此项目的受保护分支.
...
错误:未能推送一些参考...
有没有办法添加所有文件,无论你对它们做什么,是否删除,未跟踪等?喜欢提交.我每次提交时都不想拥有git add或git rm所有文件,特别是当我在处理大型产品时.
我发现在Git中非常有用的命令之一就是git add -u将除了未跟踪文件之外的所有文件抛出到索引中.那有反过来了吗?在过去的几个月里,我经常发现自己处于这样一个位置:我交互式地为索引添加了一些更新,我希望在提交之前将所有未跟踪的文件添加到该索引中.
有没有办法只将未跟踪的文件添加到索引而不单独识别它们?我在帮助文档中没有看到任何明显的东西,但也许我错过了它?
谢谢.
我是git的新手,我有一个关于在git中添加文件的问题.我发现约之间的差异多个计算器的问题git add .及git add -a,git add --all,git add -A等,但我一直无法找到解释了什么地方git add *呢.我甚至看过git add手册页,但它没有帮助.我一直用它代替,git add .我的同事问我为什么.我没有答案.我一直都在使用git add *.
是git add .和git add *一样吗?是否只从当前目录添加更改的文件,而另一个添加当前目录和子目录中的文件(递归)?
在其他一个堆栈问题上列出了一个很好的图表,显示了git add -A git add .和之间的差异git add -u,但它没有git add *.

注意:我理解将星号用作通配符意味着什么(添加具有给定扩展名的所有文件).例如,git add *.html想补充一点,有一个所有文件.html的扩展名(但忽略.css,.js等).
谢谢您的帮助!