【问题标题】:How does "not something we can merge" arise?“我们不能合并的东西”是如何产生的?
【发布时间】:2013-01-01 13:19:55
【问题描述】:

这对我来说是新的。我是一个相当有经验的 git 用户,并且刚刚在我的 fork 的 repo 中添加了一个遥控器,获取了更新,然后尝试将它们合并:

$ git merge HEAD f6ff240dbf47234249a68b34c8a98bb11237aa7
fatal: f6ff240dbf47234249a68b34c8a98bb11237aa7 - not something we can merge

网络上几乎没有关于此错误消息的信息,这让我感到震惊。我能找到的最近的东西是this page about being in a detached head state。但是git status 报告说我在分支 master 上。

您可以在 github 上看到我尝试使用的存储库 - my reporemote I want to pull from。在撰写本文时,我的 repo 主地址为 6dc048862a93ffba6cd37883fd43e40651f248c1

查看历史记录,我可以看到分叉的分歧,并且我正在尝试将来自 3 个提交的提交合并到分叉上。好像没那么难。

要为自己复制,您可以这样做:

git clone https://github.com/aptivate/dye
cd dye
git remote add qris git://github.com/qris/ping-dye.git
git fetch qris
git checkout master
git merge f6ff240dbf47234249a68b34c8a98bb11237aa7

【问题讨论】:

  • 在我的情况下,消息是通常的fatal: 'f6ff240dbf47234249a68b34c8a98bb11237aa7' does not point to a commit
  • 不同的客户端版本?我也收到了not something we can merge。我使用 1.7.10
  • 我在 1.7.10.4 并收到了上面的消息。 @bereal 的信息会更有用。
  • 啊,这就解释了,我在 1.7.9.5。
  • 谢谢,我在 bitbucket 上使用拉取请求时也出现了类似的问题,他们建议用户运行如下命令:git merge --no-ff -m 'Merged in hotfix (pull request #1)' remotes/username/project/hotfix 但本地 remotes/username/project/hotfix 不存在,您需要对其进行编辑成为origin/hotfix

标签: git git-merge


【解决方案1】:

如果我使用错误的引号(HEX UTF-8 bytes E2 80 9CHEX UTF-8 bytes E2 80 9D)而不是简单的引号(HEX UTF-8 bytes 22)来包含提交消息,则会收到错误消息,请参见下文。

Master@HP-ENVY-L MINGW64 ~/desktop/learning/git-practice/p_2 (master)
$ git merge feature-branch -m “Merge feature-branch into master”
merge: into - not something we can merge

Master@HP-ENVY-L MINGW64 ~/desktop/learning/git-practice/p_2 (master)
$ git merge feature-branch -m "Merge feature-branch into master"
Already up-to-date.

发生这种情况是因为我从指令中复制并粘贴了命令,而不是自己输入命令。 git 提供的消息相当不具体。

【讨论】:

    【解决方案2】:

    我收到了同样的错误信息。就我而言,原因是我在分支名称中使用了 '(' 和 ')'。

    【讨论】:

      【解决方案3】:

      很简单:f6ff240dbf47234249a68b34c8a98bb11237aa7 不存在。

      我才意识到你的意思是3f6ff240dbf47234249a68b34c8a98bb11237aa7(注意开头缺少的3)只需转到提交列表并输入Ctrl+f f6ff .

      如果那是你认识的人,你应该告诉他们总是master 分支并在那里提交他们的自定义更改(对于每个更改),而不是直接提交到master。然后他不需要从上游(你)rebase和强制推送更改,你只需要合并特定的故事分支。

      【讨论】:

      • 刚刚检查过,你是对的 - 我错过了提交 ID 前面的 3。哦。仍然不是最有用的错误消息。也许你的回答会帮助像我这样的未来白痴;)谢谢。
      • 这听起来可能很愚蠢,但我得到了这个错误,因为我试图合并到的分支不存在。我之前删除了它,只是忘记了。
      • 在我的例子中,它是一个分支名称,解决方案是在它前面加上 origin/,因为它是一个远程分支,我的工作副本中没有本地分支。
      猜你喜欢
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 2010-09-05
      • 2013-11-05
      • 2011-09-14
      • 1970-01-01
      相关资源
      最近更新 更多