首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在本地提交后再次取消转储我的文件?

如何在本地提交后再次取消转储我的文件?
EN

Stack Overflow用户
提问于 2011-07-14 01:05:01
回答 5查看 318.7K关注 0票数 317

我已经执行了以下命令

git add <foo.java>
git commit -m "add the foo.java file"

如何立即删除我的本地提交并取消foo.java?

如果我输入git reset --hard,我发现它会将修改后的foo.java还原为原始one。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-14 01:15:23

git reset --soft HEAD~1应该做你想做的事情。在此之后,您将拥有索引中的第一次更改(使用git diff --cached可见),并且您的最新更改不会暂存。然后,git status将如下所示:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   foo.java
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   foo.java
#

然后,您可以执行git add foo.java并同时提交这两个更改。

票数 554
EN

Stack Overflow用户

发布于 2011-07-14 01:13:29

使用:

git reset HEAD^

这将在默认情况下执行“混合”重置,它将按照您的要求进行重置;将foo.java放入未分级状态,删除最近提交的内容。

票数 100
EN

Stack Overflow用户

发布于 2015-12-16 15:29:35

对我来说,下面是更易读(因此更可取)的方式:

git reset HEAD~1

除了1,您还可以取消提交任何数量的提交。

票数 62
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6682740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档