Git rebase --skip recovery

时间:2016-02-19 02:39:43

标签: git version-control branch git-rebase

我在一个名为auth+menus的功能分支中工作,下面是我需要帮助尝试恢复的事件和操作的顺序。我担心我失去了所有的工作,我希望我错了。

git commit -m "code changes"

git commit -m "more changes"

git rebase -i HEAD~2

git checkout master

git pull upstream master

git checkout auth+menus

git rebase master

git rebase --continue存在单一冲突

git rebase --skip

git add --all

git commit -m "some of these files should have already been committed"

git push origin auth+menu

git push origin auth+menu -f因为我是个白痴......

我希望我没有完全丢失前两次提交中的所有内容,我真的需要别人的帮助!有没有办法从中恢复并得到我原来的两个提交?

1 个答案:

答案 0 :(得分:4)

不,你没有丢失任何东西。做git reflog。你会看到类似的东西:

33103ca HEAD@{0}: commit: Using arguments on command line to specify revision ra
46d9365 HEAD@{1}: commit: more changes
1dfdc0d HEAD@{2}: commit: code changes
31a16ad HEAD@{3}: merge test2: Merge made by the 'recursive' strategy.
1dfdc0d HEAD@{4}: commit: .
ddc65bf HEAD@{5}: checkout: moving from test2 to master
236c36d HEAD@{6}: commit: .
ddc65bf HEAD@{7}: checkout: moving from master to test2
ddc65bf HEAD@{8}: commit: .
be347db HEAD@{9}: checkout: moving from be347db616c39dadad59308bee5736e5614e7d61

嗯,它可能看起来不那么像,但关键是找到“提交:更多更改”的行。来吧,标记那个傻瓜;在这种情况下,它将是git tag mytag HEAD@{1}。然后你可以合并那个标签,樱桃挑选它,或者其他什么。