我们的项目使用了几个第三方开源库,其中一些需要自定义修改。
对于每个库,我们创建了自己的本地 git 存储库,并将原始源位置添加为vendor远程,从那里克隆,根据需要修改它并将其推送到内部远程存储库(我们称之为origin).
然后,这些存储库将用作我们核心项目中的子模块。
问题:“供应商”remoteurl 不会传播到“源”,因此对于克隆内部库存储库的任何人来说都会丢失。
每次您想要合并库的新上游更改时,您都需要查找并手动添加vendor再次远程(或者使用在开始时创建的完全相同的本地存储库,如果它仍然可用)。
有没有更好的方法来存储vendor存储库 url 以便每个开发人员都可以传播和使用它?添加额外的文件(例如clone_from_here
)对于图书馆来说似乎也不是很优雅。
你可以通过.git/config
。成功拉取或推送更改后,请查看.git/config
文件并记下远程url
and fetch
开发人员克隆存储库后,打开.git/config
在开发人员计算机上并添加您复制的行。例子 -
[remote "vendor"]
url = [email protected] /cdn-cgi/l/email-protection:xxxxx/xxxxxxx.git
fetch = +refs/heads/*:refs/remotes/origin/*
在此示例中,您的开发人员现在可以向供应商推送或拉取。
如果您需要更多地控制写入 fetch url - gitguys 上有关于这方面的优秀文档 -http://goo.gl/JGaKD http://goo.gl/JGaKD
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)