ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

git问题-代码提交到服务器又要撤销

git问题-代码提交到服务器又要撤销

一、场景一:git提交代码到服务器了,但是被要求Abandoned掉导致代码没有合入仓库,但是本地又想保留此次修改的代码,并且还要同步服务器的更改。

二、场景一总结的最快解决办法:

  1. 本地撤销提交,保留修改:
    使用git reset --soft撤销最后一次提交,但保留工作目录中的修改:

    git reset --soft HEAD~1

    • HEAD~1表示撤销最后一次提交。

    • --soft选项会撤销提交,但保留修改内容,修改会变为暂存状态(即git add后的状态)。

  2. 再隐藏本地修改:

    git stash
  3. 再同步服务器代码:

    repo sync
  4. 再合并本地修改:
    • git stash list
    • git stash apply stash@{0}

======================================

场景二:git push还未合入,执行repo sync之后导致本地代码丢失。

场景二:解决办法:
1、先找回提交:git reflog,找到commitid
2、确认一下内容是不是你要的代码:git show commitid
3、捡取到当前分支: git cherry-pick commitid

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进