假设我在提交abc123
中删除fileA
。然后,当我git reset
,git diff
的输出显示fileA
已被删除。 fileA
已不在我的工作目录中,因此我无法重新添加它。使git重置重新删除文件
git reset
的默认值是git reset --mixed
。这在man git-reset
描述:
重置索引而不是工作树(即更改的文件 保留,但不标记为提交)和报告一直没有什么 更新。
什么是优雅的解决方案。一种解决方法是签出包含该文件的稍后提交,复制该文件,然后结账abc123
并再次添加。
SOLUTION:下面
两种解决方案是正确的。其中一个显示了如何检出文件被删除时的提交,并简单地运行git checkout fileA
。另一个显示了如何在当前提交中恢复文件,该文件稍后提交了fileA
被删除的提交。您运行git checkout abc123~ -- file A
(--
确保checkout命令知道我们正在尝试回滚文件而不更改分支)。
您可以使用'git stash'临时保留您的临时区域中的更改,同时重置 – 2013-03-13 19:05:04
我编辑了我的问题。您的评论不再相关。 – 2013-03-13 19:13:16