专业编程基础技术教程

网站首页 > 基础教程 正文

Git重置到某个历史节点(Sourcetree工具)

ccvgpt 2025-04-30 15:38:00 基础教程 5 ℃

前言

Sourcetree回滚提交和重置当前分支到此次提交的区别?

Git重置到某个历史节点(Sourcetree工具)

  • 回滚提交

是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候。

也就是说刚刚提交代码,没有推送,这时候你发现提交错了,只需要选择本地分支你刚提交的节点上,右击回滚一下即可,这时候本地分支会出现“Revert”的字样,推送按钮会出现提示推送的角标,这时候你可以直接推送一下,远端也不会有变化,只不过是推送一些日志记录或者其他与代码无关的,或者也可以提交好正确的代码后,一起推送。

还有一种情况就是回滚后发现没有错误,这时候刚写的代码已经没了...那就索性再回滚一次,也就是说撤销刚才的回滚操作,这时候本地分支节点上会出现“Revert 'Revert '”的字样,推送按钮也会出现提示推送的角标,这时候可以仿照上一步后半部分操作。

  • 重置当前分支到此次提交

是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候。

正文

演示dev分支重置到“update: 在dev上,第3次修改”此次提交。请先备份分支或者将该分支合并到其它分支,以便操作错误,内容丢失。

Soursetree切换到dev分支,查看文件内容

目标节点文件内容

Soursetree中选中要重置到的目标节点

右键选中“重置当前分支到此次提交”

选中“强制合并-丢弃所有改动过的工作副本”

提交&推送(2种方式)

方式一

软合并-保持所有本地改的

选中最新的远程dev分支,右键选中“重置当前分支到此次提交”,选中“软合并-保持所有本地改的“,点击确定。

提交


推送

点击推送,推送成功则重置操作完成。

重置操作完成

查看文件内容是否已重置到目标状态

方式二

提交


此时代码与远程仓库代码不一致,因为重置,所以比远程仓库当前分支少N个版本。此时,不要拉取代码。使用soursetree推送代码会失败,本地有未拉取代码。解决办法:打开命令行,使用终端命令进行强制推送

推送

进入git文件目录,查看并切换到dev分支,执行推送命令:git push -f


重置操作完成

查看文件内容是否已重置到目标状态

Tags:

最近发表
标签列表