我不小心运行了git branch <branchA> <branchB> -f
,无法返回到以前的状态...因此,我收到了太多的更改...
很Draw.io久以前,我在创建的一个分支中使用www.example.com编写了这个架构,当我认为是时候合并它时,我无法这样做,因为我收到了下面的消息。There isn't anything to compare. master and document/initial-architecture are entirely different commit histories.
所以我查看了这个URL(There isn't anything to compare. Nothing to compare, branches are entirely different commit histories)。
所以我运行了下面的代码。
81906@DESKTOP-608QNA0 MINGW64 ~/Documents/slackbot-gpt3 (document/initial-architecture)
$ git branch master document/initial-architecture -f
81906@DESKTOP-608QNA0 MINGW64 ~/Documents/slackbot-gpt3 (document/initial-architecture)
$ git checkout master
Switched to branch 'master
Your branch and 'origin/master' have diverged,
and have 25 and 28 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
81906@DESKTOP-608QNA0 MINGW64 ~/Documents/slackbot-gpt3 (master)
$ git push origin master -f
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Cannot force-push to this protected branch
To https://github.com/Suchica/slackgpt3.git
! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to 'https://github.com/Suchica/slackgpt3.git'.
这里发生了37次修改,我想撤销它们,但是我不知道该怎么做。Git图是这样的。
这是git reflog
的结果。
2条答案
按热度按时间7cjasjjr1#
git reflog
可能会保存您的时间,如果您此后没有进行太多的移动。git reflog
显示你的移动而不是你的分支历史,找到最后一个好位置和git reset --hard _YOUR_SHA_
的SHA。YMMV公司。
htrmnn0y2#
请参见
git help revisions
中的reflog语法。@{1}语法是对此类oops的相当普遍的回退。
Shell历史扩展(由
!
引入)有一个“当前行”标记#
和一个“最后一个字”选择器$
,使得这里完全不需要重复分支名称的简写我很想提一下。