You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提交并推送Git更改后,如何撤销本地及远程操作并切换用户重执行?

解决Git提交身份错误及撤销远程/本地更改的步骤

一、撤销远程与本地的错误提交

  • 查看提交历史,定位到错误提交(root用户的那次提交)之前的版本:

    git log --oneline
    

    找到倒数第二个提交的哈希值(比如abc123),或者直接用HEAD~1指代上一个提交。

  • 重置本地master分支到正确版本,同时丢弃本地残留的更改:

    git reset --hard HEAD~1
    # 或者用具体提交哈希:git reset --hard abc123
    
  • 强制推送到远程仓库,覆盖错误的提交(注意:如果有其他协作者拉取过错误提交,需提前沟通):

    git push origin master --force
    # 若远程分支开启保护,可尝试:git push origin +master
    

二、切换到puppet用户重新执行操作

  • 切换用户(根据系统环境选择合适的命令):

    su - puppet
    # 或者:sudo -u puppet bash
    
  • 进入目标目录,替换a.txt、b.txt、c.txt的内容。

  • 配置puppet用户的Git身份(首次使用需配置):

    git config user.name "puppet"
    git config user.email "puppet@yourdomain.com"
    
  • 完成Git提交与推送:

    git add a.txt b.txt c.txt
    git commit -m "更新a.txt、b.txt、c.txt内容"
    git push origin master
    

注意事项

  • 强制推送会覆盖远程分支的历史,仅在确认无其他协作者依赖错误提交时使用。
  • 确保puppet用户拥有远程仓库的推送权限,必要时配置SSH密钥或账号凭证。

内容的提问来源于stack exchange,提问作者Fahad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 07:35:19