美文网首页
git reset --soft 撤回 commit

git reset --soft 撤回 commit

作者: 黄同学2019 | 来源:发表于2020-01-02 19:54 被阅读0次

    今天遇到这种状况,我本该在自己的分支上修改代码,结果没有事先切分支,结果写在了 dev分支上,而且,我还是在 commit 之后才发现自己分支错了。

    为了把这次 commit 的代码迁移到 我自己的分支上,我使用了笨办法。

    首先,使用 git log -p 查看我所有的【变更文件】

    因为没有 push 代码,我重新 clone 了dev 的代码,正好上次是我的提交,这样不影响我代码处理。

    我对比 更改的 dev 和拉去下来的 dev ,将【变更文件】拷贝到新拉下来的 dev 中,使用 git stash 暂存代码,切到自己的分支上,使用 git stash pop 覆盖,接着正常add 和 commit 即可。

    但是,参考网上其他解决办法,看到一个有意思的实现思路:

    其实,是有办法可以撤回 commit 但是 保留 add 的文件的。使用如下方式

    git reset --soft head^
    

    这样,即可撤销上一个 commit,但是保留 add 的文件,此时,使用 git stash 一系列操作即可将代码放到自己的分支上

    参考资料:

    相关文章

      网友评论

          本文标题:git reset --soft 撤回 commit

          本文链接:https://www.haomeiwen.com/subject/ojiooctx.html