不灭的焱

革命尚未成功,同志仍须努力 下载Java21

作者:AlbertWen  添加时间:2026-03-25 10:55:59  修改时间:2026-03-25 15:58:32  分类:电脑/软件使用  编辑

 

简单说:SourceTree 里的「回滚提交」= 撤销某次提交,并且生成一条新的提交记录

一、它到底做了什么?

假设你有这样的提交历史:

A → B → C → D

你对 D 点右键 → 回滚提交...

结果会是:

A → B → C → D → D'
  • D' 是一条新提交
  • 内容刚好和 D 相反:D 加的代码会被删掉,D 删的代码会恢复
  • 原来的 D 还在历史里,不会消失

所以它本质是:用一次新提交,抵消掉旧提交的改动

二、和「重置当前分支到这次提交」的区别

操作 效果 历史是否还在 适合场景
回滚提交 生成新提交抵消旧提交 历史完整保留 已推送到远程、多人协作
重置到这次提交 直接删掉后面的提交 历史被修改 / 丢弃 只在本地、没推给别人

三、什么时候用「回滚提交」?

  • 提交已经 push 到远程仓库
  • 团队其他人已经拉取了你的代码
  • 你想撤销某次提交,但不想改写历史

这种情况下用「回滚提交」最安全,不会导致别人代码冲突。

四、简单总结

  • 回滚提交 = 安全撤销:生成反向提交,历史保留,适合远程 / 团队协作。
  • 重置 = 彻底删掉提交:直接抹掉后面记录,只适合本地未推送。