与git reset不同,git revert不会修改历史记录,而是将撤销的更改作为新的提交保存下来。 适用场景: 撤销公共分支上的提交:如果你在公共分支(例如,已经被其他开发者拉取或推送到远程仓库的分支)上做了一个错误的提交,并且你希望撤销这个提交,那么git revert是一个更好的选择。因为它不会改变提交历史,从而避免了对其...
首先从英文释义来讲,reset 是重置的意思,revert 是恢复、还原的意思,作为 Coder ,第一感觉 reset 的效果比 revert 更猛一些,实际情况也的确如此,让我们一起探讨一下吧。git 提交时间线 背景 Git 的每一次提交都是一次 commit,上图可以看到在时间线上有三次提交,此时 HEAD 指向 main 分支,main 分支又...
git reset <commit_hash>: 回退到指定的提交。 git revert 功能:创建一个新的提交,用于撤销指定提交的更改。它不会改变现有的提交历史,而是通过反向应用之前的更改来实现撤销。 场景: 已经推送的提交:当你需要撤销一个已经推送到远程仓库的提交时,应该使用revert,因为它不会修改已有的提交历史,避免了团队协作中的混...
git reset和git revert都是属于重新恢复工作区以及远程提交的方式,但这两种操作有着截然不同的结果: git reset是将之前的提交记录全部抹去,将 HEAD 指向自己重置的提交记录,对应的提交记录都不复存在; git revert操作是将选择的某一次提交记录 重做,若之后又有提交,提交记录还存在,只是将指定提交的代码给清除掉。
git reset与git revert是git与版本回退有关的两个命令,本文将通过实验来测试这两个命令之间的区别。接下来我们分别来看下这两个命令 git reset:重置 git reset的作用是还原Index的状态或修改本地分支HEAD的位置。有三种参数可以选择 git reset --mixed
1.同reset一样还是通过git log查看你要revert的版本号(当然也可以通过gitlab网站去查看): 2.使用“git revert -n 版本号”反做,并使用“git commit -m 版本名”提交: (1)反做,使用“git revert -n 版本号”命令。如下命令,我们反做版本号为8b89621的版本: (2)提交,使用“git commit -m 版本名”,如...
git revert和git reset的区别 先看图: sourceTree中revert译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。 reset为重置到这次提交,将内容重置到指定的版本。git reset命令后面是需要加2种参数的:–-hard和–-soft。这条命令默认情况下是-–soft。
在团队开发中,使用 Git 作为版本开发工具,可以便捷地协同多人管理并行开发,但是由于自己或者其他人代码提交污染了远程分支,就需要对远程代码进行恢复操作,Git 提供了 reset 和 revert 两种命令来进行恢复操作,这两种操作效果是截然不同的,不太清楚这个原理的同学需要了解一下,以免在实际的开发过程中翻车,导致线上远程...
git reset 、 git revert 和 git checkout 的共同点:用来撤销代码仓库中的某些更改。不同点:从 commit 层面说起:git reset 可以将一个分支的末端指向之前的一个 commit。然后下次 git 执行垃圾回收的时候,会把这个 commit 之后的 commit 都扔掉。 git reset 还支持三种标记,用来标记 reset 指令影响的范围:...
比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。如下图所示:...