我在我的本地repo中修改了一些文件,然后我做了git add -A,我认为这给暂存区添加了太多的文件。如何从暂存区删除所有文件?
之后,手动执行gitaddfilename。
我在我的本地repo中修改了一些文件,然后我做了git add -A,我认为这给暂存区添加了太多的文件。如何从暂存区删除所有文件?
之后,手动执行gitaddfilename。
可以从索引中取消文件
git reset HEAD -- path/to/file
就像git add一样,你可以按目录递归地取消文件,所以要一次性取消所有内容,从存储库的根目录运行这个命令:
git reset HEAD -- .
此外,为了便于将来参考,git status的输出将告诉您将文件从一种状态移动到另一种状态所需运行的命令。
如果您已经提交了一堆不需要的文件,您可以取消它们,并告诉git将它们标记为已删除(而不是实际删除它们)
git rm --cached -r .
——cached告诉它从staging和索引中删除路径,而不删除文件本身,-r对目录进行递归操作。然后,您可以git添加任何您想要跟踪的文件。
正如在其他回答中提到的,您应该使用git重置。这将撤销git add -A的操作。
注意:git reset等价于git reset -mixed
重置索引,但不重置工作树(即,保存更改的文件,但不标记为提交),并报告未更新的内容。这是默认操作。[git重置]
我尝试了所有这些方法,但没有一个对我有效。我使用rm -rf .git从本地存储库中删除了.git文件,然后再次执行git初始化和git添加和例程命令。它工作。
你可以用几种方法重置暂存区:
重置HEAD并再次添加所有必要的文件,如下所示: git reset HEAD——>从暂存区删除所有文件 Git添加<文件,需要提交> Git commit -m "<提交消息>" git推
使用“git reset HEAD <file>…”取消fils
例如:取消所有文件
git reset HEAD .
取消一个文件
git reset HEAD nameFile.txt
如果不需要的文件被添加到暂存区,但还没有提交,那么简单的重置将完成工作:
$ git reset HEAD file
# Or everything
$ git reset HEAD .
要只删除当前工作目录中的未分阶段更改,请使用:
git checkout -- .
这很简单:
要检查当前目录下的任何文件的当前状态,不管它是否是阶段性的。 git状态 暂存任何文件: Git添加。对于当前目录中的所有文件 Git为特定文件添加<filename> 取消文件暂存: Git恢复——staging <filename>
使用以下命令从暂存区删除特定文件:
git restore --staged <individual_file>
或者使用以下命令删除当前暂存的所有文件:
git restore --staged .
在你的git bash终端中,在将文件添加到暂存区域后,你可以运行git状态,命令会显示在当前暂存文件的上方:
从暂存区删除目录! Git rm——cached <<repo/目录名>> . txt
如果这不起作用,使用-f标签 Git rm——cached <<repo/目录名>> -f . txt
非常简单的答案
下面的git命令将从暂存区删除所有文件
git restore --staged .
或者你可以
git restore -S .
注意:从项目根目录运行这些命令,不要忘记。(点)在最后!