git merge upstream / master“已经是最新的”

时间:2012-12-17 06:03:41

标签: git github

只是一个免责声明:在使用git几个月后,我仍然不知道我在使用它时正在做什么。事情的唯一时间就是我完全按照我在网页上的各种页面上的说明进行操作。

我要做的是更新我的存储库,它是从另一个项目派生的。我发现这些说明有用,每次我想要更新时都会关注它们

然而,这次当我尝试合并时,我得到了这个:

warning: refname 'upstream/master' is ambiguous.
Already up-to-date

即使我分叉的项目最近提交了,也没有任何反应。我真的不知道出了什么问题,我真的很沮丧。对不起,如果这个问题令人难以置信的愚蠢和/或愚蠢。

编辑1:此外,我搜索了大量解决方案但没有成功。

编辑2: git branch输出-a

* master
upstream/master
remotes/origin/HEAD -> origin/master
remotes/origin/log-upgrade
remotes/origin/master
remotes/origin/past-gens
remotes/origin/prototype-party
remotes/upstream/log-upgrade
remotes/upstream/master
remotes/upstream/past-gens
remotes/upstream/prototype-party

编辑3:类似问题

git refname 'origin/master' is ambiguous
Git: refname 'master' is ambiguous
warning: refname 'HEAD' is ambiguous
Git warning: refname 'xxx' is ambiguous

2 个答案:

答案 0 :(得分:7)

你有两个名为upstream/master的分支。一个是本地分支,一个是远程分支。当您尝试执行git merge时,git不知道您希望合并这两个分支中的哪一个,因此存在歧义。

可以从git branch -a(显示所有git分支,包括遥控器)中看到:

upstream/master
<SNIP>
remotes/upstream/master

要解决此问题,您可以重命名(或删除)本地分支:

git branch -m <old name> <new name>

在您的情况下,您要重命名此类内容(将名称更改为newname):

git branch -m upstream/master newname

这应该可以让您正确地git fetch / git merge

答案 1 :(得分:2)

要么只是运行:

git merge remotes/upstream/master

而不是

git merge upstream/master

或删除您的本地upstream/master分支,方法是:

git branch -d upstream/master

了解git是如何工作的;)。它并不复杂,一旦你理解了核心原则,一切都很容易。