我有两个 Git 存储库:A(公共)和 B(私有),其中 B 是 A 的一个分支,B 需要定期与 A 同步。我还添加了 repo A 作为 repo B 的远程上游,如下所示:
cd <local_folder_of_repo_B>
git remote add upstream <URL_of_repo_A>
我知道我可以像这样手动将 A 中的更改合并到 B 中:
cd <local_folder_of_repo_B>
git fetch upstream
git merge upstream/master
git push origin master
我创建了一个 Jenkins 作业,当 repo B 中有提交时触发。但是,我也需要这个作业在 repo A 中有提交时触发。然后将这些更改合并到 repo B 并构建。
编辑:我尝试使用Jenkins Multiple SCMs 插件。我添加了两个 Git 存储库并为它们提供了不同的本地文件夹,如插件页面中所述。现在 Jenkins 工作正确地轮询了存储库和触发器本身,但我试图避免在我的硬盘上保留两个单独的存储库,因为它们太大了,我打算扩展这种方法。