通过克隆/推/拉传播远程位置

rlu*_*uba 7 git vendor-branch

我们的项目使用了几个第三方开源库,其中一些需要自定义修改.

对于每个库,我们创建了自己的本地git存储库,将原始源位置添加为供应商远程,从那里克隆,根据需要进行修改并将其推送到内部远程存储库(让我们称之为).

然后,这些存储库将用作我们核心项目中的子模块.

问题: "供应商" 远程 URL不会传播到"origin",因此对于克隆内部库存储库的任何人都会丢失.

每次要合并库的新上游更改时,都需要再次查找并手动添加供应商远程(或者使用在开头创建的完全相同的本地存储库,如果它仍然可用).

是否有更好的方法来存储供应商存储库URL,以便每个开发人员可以传播和使用它?向clone_from_here库中添加额外的文件(例如)似乎也不是很优雅.

Fir*_*ero 1

您可以通过.git/config. 成功拉取或推送更改后,查看该.git/config文件并记下远程urlfetch

开发人员克隆存储库后,.git/config在开发人员计算机上打开并添加您复制的行。例子 -

[remote "vendor"]
    url = git@xxx.com:xxxxx/xxxxxxx.git
    fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

在此示例中,您的开发人员现在可以向供应商推送或拉取。

如果您需要更多地控制写入获取网址 - gitguys 上有关于此的优秀文档 - http://goo.gl/JGaKD