如果我将git branch自身重新设置怎么办?

时间:2018-10-22 23:12:17

标签: git github branch rebase

我认为,我只是根据自己对分支进行了重新设置,现在有点循环了(写“ rebasing”超过半小时)。我该如何解决?

2 个答案:

答案 0 :(得分:1)

Ctrl+C(如果您使用命令提示符)杀死git命令。如果Ctrl+C没有帮助,请关闭您使用的应用程序。

然后,返回您的git文件夹并检查您的位置,在“最糟糕”的情况下,只需使用git-rebase --abort中止重新设置即可。

您也可以随时git reset --hard返回到基准恢复前的状态。

答案 1 :(得分:0)

您似乎陷入了重新设置模式,但没有进行循环分支(不用担心)。

git的核心概念是提交,而提交的基本原理是,一个提交只能有一个父对象(例外是初始提交,它什么都没有引用。)

那么在终端内部,当您在终端内部进行git status时,屏幕上会显示什么? 下面的屏幕是git status返回的一个示例,如果您卡在了基准库中(不要介意branch和files)。重要的是第一行You are currently rebasing branch

这是情况的良好指示,终端会在此行下方告诉您您有什么选择。

只需按照指南和git rebase --abord进行操作,git rebase --continue将从当前变基退出,并将您的git repo从重新变基之前的状态恢复为原始状态

something like this

如果要继续进行变基,请修复可能的未合并文件或解决冲突并提交更改,然后执行git reset --hard

GIT对于您的代码来说是一种时光机,因此如果您在git rebasegit reflog之后觉得自己搞砸了,请不要惊慌。 git reset --hard <action hash you want to go back to>将显示您的git操作历史记录时间轴,其中包含操作哈希(如提交哈希)和操作说明。

git reflog

通过复制哈希来选择要返回的动作,并将其与git reset --hard 420d527一起使用。就我而言,我想回到我所做的所有令人困惑的事情之前所做的最后一次提交,我将在终端--hard内编写,但要注意@FlywayTest将清除所有未提交的更改