git 撤回上一次 push,本地保持在 git add 后的状态

86 阅读1分钟

完整命令顺序:

# 1️⃣ 本地回退到 git add 状态,保留代码改动和暂存区状态
git reset --soft HEAD~1

# 2️⃣ 强制把远程分支回退到 push 前的 commit
git push origin <目标 commit 哈希>:<你的分支名> --force

# 例如:
git push origin b147da4e5adc2935029748ed879d1443d65cc050:main --force

📌 解释说明:

步骤命令含义
第一步git reset --soft HEAD~1撤销最近一次提交,代码和暂存区(已 add 的文件)不变
第二步git push origin 哈希:分支名 --force将远程分支强制回退到你指定的提交(上一次 push 前的 commit 哈希

🧠 tips:

  • 查找目标提交哈希的方法:

    git log origin/<你的分支名>
    
  • --soft 是关键,它不会丢失代码改动,也不会清空暂存区。

  • --force 是为了覆盖远程历史,请谨慎操作,确保不会影响他人。