首页 > 解决方案 > 捆绑后更新远程参考

问题描述

我有一种情况,我需要在无法直接访问上游存储库的远程计算机上使用存储库。我计划通过从已知的原始/开发位置创建一个捆绑包到当前的 HEAD,使用捆绑包定期将更改推回。

这很适合将更改放回上游存储库,但我不确定一旦完成后如何更新对离线存储库中的 origin/develop 的引用。我以为我可以在另一个方向使用捆绑包,但是当我尝试应用它时,它没有任何用处:

$ git fetch ../remote-sync.bundle                
From ../remote-sync.bundle
 * branch            HEAD       -> FETCH_HEAD
$ git log --oneline --all --graph -n3                 
* 72293fb (develop) Implement C library function memchr
* 2c97010 (HEAD -> master, origin/master, origin/develop, origin/HEAD) Test code attempt #1

在上游存储库中,72293fb 现在是开发的负责人,但在应用捆绑包后,这里仍然标记为位于 2c97010。

我尝试了一些传递给 fetch 的分支参数——比如git fetch remote-sync.bundle origin/develop但它失败了,因为它对该引用一无所知。

在此之前,我并没有真正将 git 用于其他简单的事情,比如偶尔推送到 github 进行单人项目,所以我对 fetch 的理解有些有限。

谢谢,

标签: git

解决方案


在上游存储库中,72293fb 现在是开发的负责人,但在应用捆绑包后,这里仍然标记为位于 2c97010。

提取不会更改您当前的 HEAD,它只会更新远程跟踪分支或远程引用。

获取后,您可以将 HEAD 重置为您想要的任何提交,或者改为执行

git pull ../remote-sync.bundle master

推荐阅读