【发布时间】:2010-02-08 16:58:21
【问题描述】:
EDIT这个问题可以从两个方面理解,两种情况下的最优答案是不同的。
-
问题 1:我在暂存区添加了一个以前未跟踪的文件。如何在不从文件系统中删除的情况下从暂存区删除此文件?
答案 1:使用以下命令,如John Feminella's answer 中所述:
git rm --cached <file> -
问题 2:我修改了一个已跟踪的文件,并将我的修改添加到暂存区。如何从暂存区域中删除我的修改?即,如何取消暂存文件中的修改?
答案 2:使用以下命令,如David Underhill's answer 中所述:
git reset <file>
【问题讨论】:
-
您的意思是“重置为之前的内容”还是“删除,因为我不再需要该文件”?
-
在我的情况下是一样的,因为该文件之前不存在...
-
@hcs42 接受的答案是错误的,会导致许多人删除文件。第二个最受欢迎的答案 (
git reset <file>) 是正确的。您是否可以将绿色复选标记移至正确答案? -
@MartinJambon 感谢您强调某些人遇到的问题。问题是我的问题可以通过两种方式来理解。接受的答案非常适合我的问题,但它让一些想要回答不同问题的人陷入困境。我编辑了问题以包含这两个问题。
-
@hcs42 太棒了,谢谢!
标签: git