我们的项目使用了几个第三方开源库,其中一些需要定制修改。
对于每个库,我们创建了自己的本地git仓库,将原始源位置添加为“vendor”远程,从那里克隆,根据需要进行修改,并将其推送到内部远程仓库(我们称之为“origin”)。
然后,在我们的核心项目中使用这些仓库作为子模块。
问题在于:“vendor”远程url未被传播到“origin”,因此对于克隆内部库存储库的任何人来说,它都会丢失。
每次想要合并库的新上游更改时,您需要找到并手动再次添加“vendor”远程(或者如果一开始创建的确切本地存储库仍然可用,则使用它)。
是否有更好的方法来存储“vendor”存储库url,以便每个开发人员都可以使用并传播?向库添加额外的文件(例如“clone_from_here”)似乎也不太优雅。
对于每个库,我们创建了自己的本地git仓库,将原始源位置添加为“vendor”远程,从那里克隆,根据需要进行修改,并将其推送到内部远程仓库(我们称之为“origin”)。
然后,在我们的核心项目中使用这些仓库作为子模块。
问题在于:“vendor”远程url未被传播到“origin”,因此对于克隆内部库存储库的任何人来说,它都会丢失。
每次想要合并库的新上游更改时,您需要找到并手动再次添加“vendor”远程(或者如果一开始创建的确切本地存储库仍然可用,则使用它)。
是否有更好的方法来存储“vendor”存储库url,以便每个开发人员都可以使用并传播?向库添加额外的文件(例如“clone_from_here”)似乎也不太优雅。
gitpsh
,它会特定地推送到指定的分支。 - First Zero