我有一个 Git 存储库和 Gerrit 审查运行在此之上。我在这个 repo 上拥有 Push/Push Merge Commit 权限(这意味着我可以绕过 Gerrit Review 并直接合并代码,就好像 Gerrit 不存在一样)。
作为日常活动的一部分,我merged
将一个已完成的主题(在 Gerrit 中通过并批准)提交给我的主人
git merge master-b734912
Updating 08f272e..d265243
这一步意味着我HEAD
在 SHA-1 上的本地/主服务器按预期08f272e
快速转发到d265243
Fast-forward
后跟一个push
将我的本地与远程同步
git push gerrit:projectname master
'gerrit:' 别名在我的用户配置文件的 ssh 配置中定义
我从远程/主站撤出以确保一切同步
git pull gerrit:projectname master
我得到了
From gerrit:crs2awips
* branch master -> FETCH_HEAD
Already up-to-date.
但是git log --graph --oneline master
,按预期显示带有新提交的更新树
* d265243 git commit message 2
* 08f272e git commit message 1
而git log --graph --oneline origin/master
仍然显示合并前的最后一次提交。
* 08f272e git commit message 1'
更令人惊讶的是,Gerrit Review Web UI 显示远程提交已更新。
此外,克隆存储库现在将有一个master
带有 commit-id 的分支,如预期的那样。
从上面我得出结论......不知何故,本地HEAD
没有更新git pull
,每次推送后都会使其不同步。
每次完成后都克隆一个新的 repo 有点不方便PUSH
。
任何建议。
最近我也提出了这个问题。我相信这个问题与这个问题有一些联系。