无法在git log或gitk中看到上游分支

时间:2017-03-11 19:50:06

标签: git github

我分叉了一个GitHub仓库,在本地克隆了我的分叉并添加了远程"上游"指向原始回购。它似乎一切都设置正确,但" git log"和gitk只显示来自原点(我的叉子)而不是上游的分支。

我有另一台机器,一切正常。两台机器上的设置显示相同。我错过了什么?

我的步骤:

Header set Cache-Control max-age=0

如果我运行" git log --oneline --decorate = short",我只看到原始分支。例如:

git clone https://github.com:johnpankowicz/govmeeting.git
cd govmeeting
git remote add upstream https://github.com/govmeeting/govmeeting.git
git branch --set-upstream master upstream/master
git fetch upstream

但是在我的另一台机器上工作的地方,我也看到了上游的分支机构:

dd98b4a (origin/master, master) Minor fixes in register. Documentation and minor UI changes. (#35)

两台机器上的所有内容似乎都设置相同。以下每个命令的输出都相同:

$ git remote -v

dd98b4a (upstream/master, origin/master, master) Minor fixes in register. Documentation and minor UI changes. (#35)

$ git remote show upstream

origin  https://github.com/johnpankowicz/govmeeting.git (fetch)
origin  https://github.com/johnpankowicz/govmeeting.git (push)
upstream        https://github.com/govmeeting/govmeeting.git (fetch)
upstream        https://github.com/govmeeting/govmeeting.git (push)

$ git branch -r

* remote upstream
Fetch URL: https://github.com/govmeeting/govmeeting.git
Push  URL: https://github.com/govmeeting/govmeeting.git
HEAD branch: master
Remote branch:
  master tracked
Local ref configured for 'git push':
  master pushes to master (local out of date)

$ git ls-remote upstream

origin/fix-webapp-startup
origin/master
origin/pass-ang-arg
origin/video
upstream/master

2 个答案:

答案 0 :(得分:3)

如果已经提交了upstream / master,则相关提交不再是其HEAD,并且git log不会提及。另一台机器还没有收到新的提交。

编辑(更多解释):--decorate查看所有 refs (分支的所有标记和提示,包括本地和远程)以查看是否有任何指向承诺。因此,当出现新提交时,提交不再是分支的提示,--decorate将不再提及。但--decorate实际上并不查询远程仓库的refs,它只检查它的本地副本(所有git repos都包含其远程仓库的完整本地副本)。必须使用例如手动更新本地副本。 git fetch。因此,在另一台计算机上,upstream的本地副本已过期。

答案 1 :(得分:2)

您的任一台计算机上的

upstream/master实际上是master远程upstream分支的最新提取时的本地副本遥控器上的实际分支。它只会在您运行git fetch upstream master时更新。这意味着如果有人在原始GitHub仓库中提交master,那么“其他”机器将不会反映这些更改,但最近的克隆将会发生。