git revert与git reset

共同点:此次提交的代码会被退回到暂存区

不同点:

  git revert:撤销某次操作,用新的commit去标记旧的commit失效,即抵消操作。git log中会有一次提交的commit,有一次撤销提交的commit

  git reset:撤销某次提交,将HEAD回退,即删除新的commit。git log中没有新的commit

注:日后继续merge以前的老版本时,因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现。

  git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。

  在平时的编码中,习惯用reset。免得误提交操作,或者不小心用了git revert,可以用git reset一直撤销提交。

时间: 2024-08-03 12:06:46

git revert与git reset的相关文章

git revert VS git reset

最近在网上搜索git revert 和git reset 的用法对比,实际操作的时候,发现根本行不通,自己摸索了下,记录下这篇文章. git revert:回退某次提交,并重新提交,相当于代码恢复修改前,但是服务器上有两次提交log: git reset:回退某次提交,同时回退修改log,但是修改内容回退到本地暂存区,由用户确定丢弃(checkout)或者重新提交. 假设当前有3个commit,git  log如下: commit3: add test3.c commit2: add test2

git revert和git reset的区别

原文:http://blog.csdn.net/koffuxu/article/details/6731876 git revert 是撤销某次操作,此次操作之前的commit都会被保留 git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区 具体一个例子,假设有三个commit, git st: commit3: add test3.c commit2: add test2.c commit1: add test1.c 当执行git revert HEAD~1时, commi

git reset --hard和git revert命令

git reset --hard和git revert命令 git误操作时可以用git reset –hard 去撤销这次修改, 但是这样做也有问题,可能在之前本地有没有提交的修改也都消失了,这种情况下,可以尝试git revert命令. 一 git reset的使用 reset是指将当前head的内容重置,不会留任何痕迹. Sets the current head to the specified commit and optionally resets the index and work

git revert 用法

git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交    * git revert HEAD                  撤销前一次 commit    * git revert HEAD^               撤销前前一次 commit    * git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次

代码回滚:git reset、git checkout和git revert区别和联系

git reset.git checkout和git revert是你的Git工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件. 因为它们非常相似,所以我们经常会搞混,不知道什么场景下该用哪个命令.在这篇文章中,我们会比较git reset.git checkout和git revert最常见的用法.希望你在看完后能游刃有余地使用这些命令来管理你的仓库. Git仓库有三个主要组成——工作目录,缓存区和提交历史.这张图有助于理解每个

辛星浅析git reset和git revert

很多时候,我们有了误操作,这个时候就需要回退功能的出现,我们可以使用git reset和git  revert这两个功能. git  reset是指将当前head的内容重置,不会留任何痕迹.比如git  reset  --hard   HEAD~3会将最新的3次提交全部重置,就好像没有提交过一样.而--soft和--mixed.--hard会分别重置working  tree和index.HEAD. git   revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存.

git reset、git checkout和git revert的区别

这三个git命令都是用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于commit层面,还可以作用于file层面Reset在commit层面,reset通过移除当前分支的一些节点来实现版本回滚; 拥有mixed(默认).soft.hard三个参数:例如:$git reset <commit id> 使用mixed方式回退到指定版本 $git reset --soft <commit id> 使用soft方式回退到指定版本 $git reset --hard <commi

超级有用的git reset --hard和git revert命令

很多时候,git新手容易误操作,比如,在levelIISZ-1.4.dev分支下,运行了git pull idc cpp-1.0的结果,这样做麻烦很大,经常导致maven项目格式不正确,这个时候,可以用git reset --hard 去撤销这次修改 但是这样做也有问题,可能之前本地的,没有提交的修改,都消失了.可以尝试git revert命令 reset是指将当前head的内容重置,不会留任何痕迹. Sets the current head to the specified commit a

关于git reset和git revert之前的区别

很多时候,git新手容易误操作,比如,在levelIISZ-1.4.dev分支下,运行了git pull idc cpp-1.0的结果,这样做麻烦很大,经常导致maven项目格式不正确,这个时候,可以用git reset --hard 去撤销这次修改但是这样做也有问题,可能之前本地的,没有提交的修改,都消失了.可以尝试git revert命令 reset是指将当前head的内容重置,不会留任何痕迹. git reset --hard HEAD~3 会将最新的3次提交全部重置,就像没有提交过一样.