如何离开" git pull --rebase"?创建的时间分支?

时间:2018-06-06 14:34:46

标签: git git-pull

在我已经执行的分支中

git pull --rebase origin master

这导致了一些合并冲突。通过打开文件并选择代码所需的部分,我已经解决了冲突。然后我执行了git addgit commit

现在,当我执行git branch时,我发现我不是在原始分支中,而是在名为的分支中:

(no branch, rebasing my_branch_name)

git status告诉:

rebase in progress; onto 5ae1f3d58
You are currently rebasing branch 'my_branch_name' on '7af1d3d38'.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working tree clean

然而,当我按照建议执行git rebase --continue时,没有任何变化。我仍然留在这个奇怪的时间分支。那么,我怎样才能回到我的分支并保持git pull --rebase和手动合并引入的更改?

2 个答案:

答案 0 :(得分:2)

rebase上,将列出冲突。您需要解决每个文件中的冲突。

找到冲突的文件。

冲突看起来像这样

<<<<<<< HEAD
code from master branch
>>>>>>>>>>>>>>
<<<<<<<<< <some_commit_id>
code from your local file
>>>>>>>>>>>>>>>>>>>>>>>`

编辑该部分并保留您真正想要的代码。

然后在终端中使用

将文件添加到git

git add <file_name>

解决所有冲突后,将其添加到git

运行git rebase --continue

如果您不想做任何此操作并想在rebase之前使用旧代码,只需运行git rebase --abort

答案 1 :(得分:0)

解决rebase中的冲突时,您不需要在git commit之前运行git rebase --continue,这可能是问题的原因

如果你这样做,那么git commit --rebase会尝试提交更改并因为没有任何改变而感到困惑。

最简单的选择可能是撤消上次提交然后继续

git reset HEAD^
git rebase --continue

如果你对某个出错的基础太过深入,你也可以git rebase --abort尝试重新开始。