撤消 git pull --rebase

问题描述 投票:0回答:5

嘿,我是 git 新手,我需要撤消拉取,任何人都可以帮忙吗?!?所以我所做的是...

  1. git 提交
  2. git 存储
  3. git pull --rebase
  4. git stash pop

这造成了一堆冲突并且出了点问题。现在执行“git stash list”显示我的存储仍然在那里。是否可以将我的存储库恢复到执行 git commit 后的状态。那么实际上我的存储库只包含我所做的更改,而服务器上没有任何新内容?

git git-rebase git-pull git-stash git-revert
5个回答
176
投票

实际上,为了让这件事变得更容易,Git 保留了一个名为

ORIG_HEAD
的引用,它指向 rebase 之前的位置。 所以,这很简单:

git reset --hard ORIG_HEAD

54
投票

使用

git reflog
你会看到过去指向的提交列表

使用

git checkout -b after-commit HEAD@{1} # or the commit you want to recover

您在该精确位置创建一个新分支并检查它


8
投票

你应该检查命令

git reset --merge

这消除了 git 提交的需要;在拉取之前 git stash (虽然不知道 rebase)

该命令返回一个工作区,其中包含冲突拉取之前状态的未提交更改。


0
投票

使用

git log -g
找到你想要返回的提交索引,只需执行
git checkout
索引


0
投票

我发现了这个有趣的视频https://youtu.be/xN1-2p06Urc 解决办法就是做

git rebase --abort

© www.soinside.com 2019 - 2024. All rights reserved.