1)我在文件夹
中做了git init
2)添加了一些项目文件
3)我做了git add *
所以它递归地添加了所有文件
4)我意识到我添加了一堆我不想被版本化的文件,所以我想撤消添加
5)git reset
给出了以下错误:
fatal: Failed to resolve 'HEAD' as a valid ref.
6)git status
仍显示所有添加的文件
7)我尝试了git reset --hard HEAD
,我收到了以下错误:
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
8)git status
仍显示所有添加的文件
此时我该怎么做?
答案 0 :(得分:22)
git rm [-r] --cache -- <file>…
将是从索引中删除您不想提交的文件的正确命令
任何reset
命令都不起作用,因为您必须在新创建的存储库中进行任何提交。
--cached
使用此选项仅从索引中取消暂存和删除路径 无论是否修改了工作树文件,都将保持不变。
-r
在给出前导目录名时允许递归删除。
<file>…
要删除的文件 可以给出Fileglobs(例如
*.c
)以删除所有匹配的文件。如果你想让git扩展文件glob字符,你可能需要对它们进行shell转义 可以给出一个前导目录名(例如删除dir / file1和dir / file2的目录)以删除目录中的所有文件,并递归地删除所有子目录,但这需要明确给出-r
选项。
答案 1 :(得分:2)
如果要撤消对git的初始提交,请在项目目录文件夹中运行以下命令:
$ rm -rf ./.git
删除您的本地git存储库,以便您可以使用git init
命令重新开始。