我认为,我只是根据自己对分支进行了重新设置,现在有点循环了(写“ rebasing”超过半小时)。我该如何解决?
答案 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从重新变基之前的状态恢复为原始状态
如果要继续进行变基,请修复可能的未合并文件或解决冲突并提交更改,然后执行git reset --hard
GIT对于您的代码来说是一种时光机,因此如果您在git rebase
或git reflog
之后觉得自己搞砸了,请不要惊慌。
git reset --hard <action hash you want to go back to>
将显示您的git操作历史记录时间轴,其中包含操作哈希(如提交哈希)和操作说明。
通过复制哈希来选择要返回的动作,并将其与git reset --hard 420d527
一起使用。就我而言,我想回到我所做的所有令人困惑的事情之前所做的最后一次提交,我将在终端--hard
内编写,但要注意@FlywayTest
将清除所有未提交的更改