换下风格^_^

git revert单独撤销中间的某次commit

系统管理 admin 679℃ 0评论

原文:http://blog.csdn.net/koffuxu/article/details/6731876

git revert 是撤销某次操作,此次操作之前的commit都会被保留
git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区
具体一个例子,假设有三个commit, git log (注:真实的commit标识是hash值):
commit3: add test3.c
commit2: add test2.c
commit1: add test1.c
当执行git revert HEAD~1  ( 或:git revert  commitId)  时, commit2被撤销了
git log可以看到:
commit1:add test1.c
commit3:add test3.c
git status 没有任何变化
如果换做执行git reset –soft(默认) HEAD~1   ( 或:git reset  commitId)后,运行git log
commit2: add test2.c
commit1: add test1.c
运行git status, 则test3.c处于暂存区,准备提交。
如果换做执行git reset –hard HEAD~1 ( 或:git reset –hard commitId)后,
显示:HEAD is now at commit2,运行git log
commit2: add test2.c
commit1: add test1.c
运行git status, 没有任何变化
另外:
git revert 是撤消该commit,作为一个新的commit。

转载请注明:极豆技术博客 » git revert单独撤销中间的某次commit

喜欢 (0)
捐助本站极豆博客全站无广告。如果您觉得本博客的内容对您小有帮助,可以对我小额赞助,您的赞助将用于维持博客运营。

极豆博客

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址