如何在本地提交后撤消我的代码更改,这不会影响我当前存在的分阶段更改?
答案 0 :(得分:0)
这是做到这一点的方法。
获取差异
git diff --staged > staged.diff
在特定提交之前将HEAD重置为一次提交。
git reset --hard <your last correct commitID>
应用差异
git apply staged.diff
解决冲突
答案 1 :(得分:0)
我假设通过“分阶段更改”表示已使用git add
添加到索引但尚未提交的更改。保留本地更改的最简单方法是使用
git stash
或
git stash save "Some message"
执行此操作后,您可以执行
git reset --hard HEAD~
将当前分支重置为上一次提交。如果您愿意,可以将HEAD~
替换为任何提交引用,例如SHA1哈希或其他分支名称。
现在要恢复之前隐藏的更改,只需执行
git stash pop
将它们从藏匿处或
中删除git stash apply
仅将它们应用于本地副本。