我错误地将一个分支(a
)合并到分支(b
),现在a
中的文件已被删除。
我没有分支a
的任何标记,并且之前做了几次提交。
如何在合并之前回滚或返回舞台,以便我可以恢复文件?
我试过了:git reset --soft HEAD~3
似乎它不起作用。
答案 0 :(得分:1)
你有:
A --- B --- C - branch_a
\ \
--D--- E ---F - branch_b
branch_a
已合并到branch_b
,但branch_a
的内容未更改。您可以执行git checkout branch_a
,文件系统上的文件将与合并前branch_a
上的文件一样。
如果branch_a
与branch_b
(提交F
)的合并错误,您可以将其回滚,并将branch_b
设置为合并前的位置。 git reset
是移动HEAD
s(分支)的首选命令:
git checkout branch_b
git reset <SHA_1 of commit E> # --hard would update your local files as well, if you wish
导致:
A --- B --- C - branch_a
\
--D--- E - branch_b
提交F
已经消失(你仍然可以找到它,至少在一段时间内,但这是更高级的。)