如何将误提交到已合并引用的变更迁移至功能分支?
怎么找回误提交到已合并引用的本地变更
别慌,这种没推送到远程的本地提交失误完全可以补救,咱们一步步来操作:
第一步:定位错误提交的哈希值
先打开终端,运行git log --oneline命令,找到你误提交到asdas1123上的那些新提交记录。每条记录前面的一串字符(比如abc123)就是提交的哈希值,把这些哈希值记下来。第二步:切换回你的功能分支
运行git checkout feature命令,切回到原本应该提交代码的feature分支。第三步:把误提交的内容迁移到feature分支
用git cherry-pick命令把刚才记下的哈希值对应的提交复制过来,比如你有两个错误提交,哈希是abc123和def456,就运行:git cherry-pick abc123 def456如果中途遇到代码冲突,先手动解决冲突,然后运行
git cherry-pick --continue继续完成操作就行。第四步:清理asdas1123上的错误提交
切换回asdas1123分支:git checkout asdas1123,然后根据你误提交的数量,用reset命令回退到提交前的状态。比如你误提交了2次,就运行:git reset --hard HEAD~2如果你记得误提交之前的那个提交哈希,也可以直接回退到那个版本,比如:
git reset --hard <误提交前的哈希值>
小提示:操作前可以把本地仓库整个复制一份做备份,万一操作失误还能恢复,稳得很!
内容的提问来源于stack exchange,提问作者user4217999
相关产品推荐
相关产品推荐

