git merge 上游/master "already up-to-date"

标签 git github

只是一个免责声明:在使用 git 几个月后,我仍然完全不知道我在使用它时在做什么。只有当我严格按照我在网络上的各个页面上找到的说明进行操作时,事情才会奏效。

我想做的是更新我的存储库,它是从另一个项目派生出来的。我发现这些说明有效,每次我想更新时我都一直在遵循它们

但是,这次当我尝试 merge 时,我得到了这个:

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

而且什么也没有发生,即使我从中 fork 的项目已经进行了最近的提交。我真的不知道出了什么问题,我真的很沮丧。抱歉,如果这个问题非常菜鸟和/或愚蠢。

编辑 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

最佳答案

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

这可以从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

关于git merge 上游/master "already up-to-date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13909091/

相关文章:

git:仅列出新文件

git - 如何获取git存储库中所有文件的数量?

GitHub "fatal: remote origin already exists"

git - 提交更改通过 "go get"安装的包的 pull 请求

jenkins - 如何使用 github oAuth token 和 Git 插件 Jenkins

java - 在Netbeans上在线发布用Java开发的网页

github - 如何从 GitHub Web 更新 fork 的 repo?

python - Bitbucket git push 提交而不克隆存储库

没有强制推送的 Git 镜像

php - 音频波形许可被拒绝bbcrd