如何离开"git pull --rebase"创建的时间分支?
How to leave the temporal branch created by "git pull --rebase"?
我在分支中执行了
git pull --rebase origin master
这导致了一些合并冲突。通过打开文件并选择所需的代码部分,我已经解决了冲突。然后我执行了 git add
和 git 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
和手动合并引入的更改?
在rebase
,将列出冲突。您需要解决每个文件中的冲突。
找到冲突的文件。
冲突看起来像这样
<<<<<<< HEAD
code from master branch
>>>>>>>>>>>>>>
<<<<<<<<< <some_commit_id>
code from your local file
>>>>>>>>>>>>>>>>>>>>>>>`
编辑该部分并保留您实际需要的代码。
然后在终端中使用
将文件添加到git
git add <file_name>
所有冲突都得到解决并添加到 git
之后
运行 git rebase --continue
如果你不想做任何这些并且想要在变基之前的旧代码,只需 运行 git rebase --abort
在 rebase 中解决冲突时,您不需要在 git rebase --continue
之前 运行 git commit
,这可能是问题的原因
如果您这样做,那么 git commit --rebase
将尝试提交更改并感到困惑,因为没有任何更改。
最简单的选择可能是撤消上次提交然后继续
git reset HEAD^
git rebase --continue
如果你对 rebase 太深入而出错,你也可以 git rebase --abort
并尝试重新开始。
我在分支中执行了
git pull --rebase origin master
这导致了一些合并冲突。通过打开文件并选择所需的代码部分,我已经解决了冲突。然后我执行了 git add
和 git 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
和手动合并引入的更改?
在rebase
,将列出冲突。您需要解决每个文件中的冲突。
找到冲突的文件。
冲突看起来像这样
<<<<<<< HEAD
code from master branch
>>>>>>>>>>>>>>
<<<<<<<<< <some_commit_id>
code from your local file
>>>>>>>>>>>>>>>>>>>>>>>`
编辑该部分并保留您实际需要的代码。
然后在终端中使用
将文件添加到gitgit add <file_name>
所有冲突都得到解决并添加到 git
之后运行 git rebase --continue
如果你不想做任何这些并且想要在变基之前的旧代码,只需 运行 git rebase --abort
在 rebase 中解决冲突时,您不需要在 git rebase --continue
之前 运行 git commit
,这可能是问题的原因
如果您这样做,那么 git commit --rebase
将尝试提交更改并感到困惑,因为没有任何更改。
最简单的选择可能是撤消上次提交然后继续
git reset HEAD^
git rebase --continue
如果你对 rebase 太深入而出错,你也可以 git rebase --abort
并尝试重新开始。