git 撤销刚才的rebase_撤消git pull –rebase

这篇博客讲述了如何在执行git pull --rebase后遇到冲突和错误时,如何撤销操作并恢复到之前的提交状态。通过使用git reset --hard ORIG_HEAD,可以恢复到rebase前的状态,避免丢失工作。同时,文章强调了在团队协作中谨慎使用git rebase,因为它可能会导致历史记录的混乱。此外,还提到了其他git命令如git reflog、git checkout以及解决冲突的方法。
摘要由CSDN通过智能技术生成

嘿,我是git的新手,我需要撤消pull命令,有人可以帮忙吗?!? 所以我要做的是...

git提交

git stash

git pull --rebase

git stash pop

这造成了一堆冲突,并且出错了。 现在执行" git stash list"显示我的隐藏项仍然存在。 是否可以在执行git commit之后将我的存储库恢复到原来的状态。 因此,我的仓库实际上仅包含我所做的更改,而服务器中没有任何新内容吗?

实际上,为了简化操作,Git保留了一个名为ORIG_HEAD的引用,该引用指向您在重新设置基准之前的位置。 因此,它很简单:

git reset --hard ORIG_HEAD

我几乎失去了一个星期的工作,但这又使它复活了。那就是当其他人重新设置您的分支并强制推入原点而不先拉出您的更改时发生的事情……这对于了解您是否与其他人一起从事任何项目,在其中他们迫使每个人都进行基础而不是合并,这一点绝对重要。改写更清洁的历史记录,变基很危险。

这就是我需要的答案。

使用git reflog,您将看到过去指向的HEAD列表

使用

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

您在该精确位置创建一个新分支并签出

这样做会引发错误,通知我文件将被合并覆盖。有没有办法忽略这一点?

确保您的工作目录是干净的(git reset --hard HEAD会这样做)。另外,请确保不再进行重新设置(git rebase --abort)。

您我的朋友是救生员!谢谢 :)

去过也做过!我想我已经用git做了所有可以做到的事。 Git是没有保护装置的锯,可轻松切断自己的手臂。但是它还带有一个简单的手臂重新安装套件,如果需要,您甚至可以将手臂连接到膝盖。

您可以结合使用checkout和reset命令,只需执行git reset --hard HEAD@{1}

@pat:这也会移动分支,分别使用reset和checkout仍然有旧分支(如果您不知道自己在做什么,这会更安全一些)

@ wayne-conrad,我可以在" ...将手臂连接到膝盖"上引用您吗?

@Gonen,我很荣幸。拜托

您应该签出命令

git reset --merge

这消除了git commit的需要; 拉动之前git stash(虽然不知道变基)

该命令返回一个工作空间,该工作空间在发生冲突的拉动之前具有未提交的状态更改。

使用git log -g并找到您想返回的提交索引,只需做git checkout索引

这实际上没有帮助,因为pull --rebase在刚刚提取的内容之上回放您的提交;在这种情况下,您不能仅签出您的旧提交,因为它位于您刚刚拉出的提交之上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值