这是一个特定的问题,如果得到回答,希望可以帮助那些正在努力解决这一通用问题的人。我有一个我的伙伴在他的系统上镜像的git repo。没有中央存储库,所以没有推动。
我希望尽可能让我的伴侣的回购与我同步。我现在一直这样做的方法是:
git bundle create repo.bundle --all
我的伴侣不是很精通git而且可能永远都不会,所以我必须做所有繁重的工作。现在,我远程访问他的系统桌面,旧的git存储库,从bundle中克隆一个新的,然后检查所有分支以获得本地引用。
显然这是非常繁琐的,而且,由于捆绑包的大小随着每次新提交而增长,因此转移“--all”捆绑包会出现问题。我知道可以创建一个仅包含上次完整仓库捆绑后更改的缩略包,但我无法使创建或同步正常工作。
我的repo树看起来像这样(m == master,a == branch a,b == branch b):
- m1 - m2 - m3
|\
| a1
\
b1
..等几个分支机构。每个分支只有一个提交额外加上master。
我的问题:我在master分支上工作,添加另一个提交,然后将所有分支重新绑定到主HEAD,所以我的repo看起来像这样:
-m1 - m2 - m3 - m4
|\
| a1'
\
b1'
分支机构负责人的不同分支提交是由于变基合并,因为所有下属分支都跟踪主变化及其自身的小额增加等。
我如何首先制定git包只有M4和所有新的分支提交,所有分支都重新定位到M4?然后,是否有一个简单的git pull命令或一组命令来正确更新我的伙伴的存储库中的所有内容?如果是这样,那么我的合作伙伴可以在不需要访问他的系统的情况下执行这些命令。