Git解除HEAD分离状态:使用GitHub客户端进行同步

3

我在使用Git时遇到了以下问题:

  1. 我在GitHub上fork了一个仓库
  2. 我使用GitHub客户端将仓库克隆到本地
  3. 其他开发人员在主分支(master)上提交了代码
  4. 我在本地的Git仓库里进行了提交(导致不同步,因为这个提交是一个未同步的提交)

当我使用命令行解决这个问题时:

 git pull -> merge detected
 git mergetool -> resolve conflicts
 git commit -m "Reolved conflicts"
 git push -> All changes were uploaded to GitHub

一切顺利进行。然而当我使用GitHub客户端时,以下情况发生:

  1. 按下同步以解决冲突。
  2. GitHub说有一个待处理的合并。
  3. 立即我的本地repo处于分离的HEAD状态

请问,有人能解释为什么GitHub客户端会让我的repo处于分离的head状态吗?


我曾经遇到过同样的问题,但是我真的不记得我是如何让它工作的了。无论如何,在经历了很多挣扎之后…… - Mihai Bujanca
是的,您可以创建一个分支来移动待处理的更改,然后合并到主分支,但这是一个非常复杂的工作流程。我想知道的是这种行为是否是 GitHub 客户端中的错误。 - Daniel Peñalba
1
对不起,我在努力回忆,但已经有一段时间了,当时我刚开始使用git(现在也不是专家)。如果我偶然想起什么,我会给出答案的。祝好运。 - Mihai Bujanca
1个回答

0

Github for Windows应该会执行一个变基操作。如果有冲突并且您发现自己处于分离头状态,请尝试解决冲突,必要时git add已解决的文件,然后执行

git rebase --continue.

要更好地理解git pull --rebase相对于git pull的作用,请参考以下内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接