在本地提交代码后,如何撤消代码更改?

时间:2018-06-01 05:13:49

标签: git

如何在本地提交后撤消我的代码更改,这不会影响我当前存在的分阶段更改?

2 个答案:

答案 0 :(得分:0)

这是做到这一点的方法。

  1. 获取差异

    git diff --staged > staged.diff
    
  2. 在特定提交之前将HEAD重置为一次提交。

    git reset --hard <your last correct commitID>
    
  3. 应用差异

    git apply staged.diff
    
  4. 解决冲突

答案 1 :(得分:0)

我假设通过“分阶段更改”表示已使用git add添加到索引但尚未提交的更改。保留本地更改的最简单方法是使用

进行暂存
git stash

git stash save "Some message"

执行此操作后,您可以执行

git reset --hard HEAD~

将当前分支重置为上一次提交。如果您愿意,可以将HEAD~替换为任何提交引用,例如SHA1哈希或其他分支名称。

现在要恢复之前隐藏的更改,只需执行

git stash pop

将它们从藏匿处或

中删除
git stash apply

仅将它们应用于本地副本。