Git rebase --skip 恢复
Git rebase --skip recovery
我在一个名为 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
因为我是个白痴...
我希望我没有完全失去前两次提交中的所有内容,我真的需要有人帮忙!有没有办法从中恢复并获得我原来的两次提交?
不,你没有丢失任何东西。做一个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
嗯,看起来可能不太像,但关键是要找到写着 "commit: more changes" 的那一行。继续标记那个傻瓜;在这种情况下,它将是 git tag mytag HEAD@{1}
。然后你可以合并那个标签,cherry pick it,或者其他什么。
我在一个名为 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
因为我是个白痴...
我希望我没有完全失去前两次提交中的所有内容,我真的需要有人帮忙!有没有办法从中恢复并获得我原来的两次提交?
不,你没有丢失任何东西。做一个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
嗯,看起来可能不太像,但关键是要找到写着 "commit: more changes" 的那一行。继续标记那个傻瓜;在这种情况下,它将是 git tag mytag HEAD@{1}
。然后你可以合并那个标签,cherry pick it,或者其他什么。