【发布时间】:2013-05-11 20:23:14
【问题描述】:
我有一个带有来源和上游远程的 repo。通常在我的工作流程中 我从上游提取更改,然后将它们推送到我的原点(在这种情况下, 我的上游是我公司的 GitHub 组织的 repo,规范的,并且 我的起源是我的分支)。
问题是我的upstream/master 远程跟踪分支似乎没有
更新为我git pull upstream master 或git fetch upstream master。
所以如果我从这样的事情开始:
* d386ff8 (upstream/master, origin/master, master) commit 1
然后运行git pull upstream master && git push origin master,我结束了
像这样:
* 197ac91 (origin/master, master) commit 2
* d386ff8 (upstream/master) commit 1
我知道上游 repo 上的 master 分支在提交 2,197ac91(我可以通过访问其 github 页面或重新克隆 repo 来验证),那么为什么不是 upstream/master 远程跟踪在我的仓库中的197ac91 上分支?我的仓库中的upstream/master 远程跟踪分支唯一一次移动是当我推送到它时。如何让它反映上游 repo 上的 master 分支实际在哪里?
这是我的.git/config:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
url = git@github.com:me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "upstream"]
url = git@github.com:mycompany/repo.git
fetch = +refs/heads/*:refs/remotes/upstream/*
更新:这似乎与this question 重复。我可以通过运行git fetch upstream 来解决我的问题。显然,出于某种原因,将master 添加到该命令的末尾会阻止更新本地远程跟踪分支。
【问题讨论】:
-
你怎么知道 upstream/master 在提交 2 上?
-
@jex 我在它的 GitHub 页面上验证了
-
@jex 我也可以通过重新克隆 repo 来验证
标签: git