对于已经push的代码回退,有几种不同的方法,具体取决于你的需求:

1. 撤销最近的提交(保留修改内容)

# 撤销最近的提交,但保留修改的文件
git reset --soft HEAD~1

# 然后强制推送到远程(谨慎使用)
git push --force-with-lease origin test_hotspot

2. 完全删除最近的提交(不保留修改内容)

# 完全删除最近的提交和修改
git reset --hard HEAD~1

# 强制推送到远程
git push --force-with-lease origin test_hotspot

3. 创建反向提交(推荐的安全方法)

# 创建一个反向提交来撤销之前的更改
git revert HEAD

# 正常推送(不需要force)
git push origin test_hotspot

4. 回退到指定的提交

如果你想回退到特定的提交(比如aef88ec):

# 回退到指定提交,保留之后的修改
git reset --soft aef88ec

# 或者完全丢弃之后的修改
git reset --hard aef88ec

# 然后强制推送
git push --force-with-lease origin test_hotspot

推荐做法

  1. 如果是个人分支:可以使用reset --hard + force push
  2. 如果是共享分支:建议使用revert方法,这样不会影响其他人的工作
  3. 使用--force-with-lease:比--force更安全,会检查远程分支是否有其他人的新提交

你想要回退到哪个提交?或者你想要撤销什么类型的更改?我可以帮你执行具体的命令。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐