我面临以下问题并且没有想法:
我的公司不允许我们的开发人员直接访问互联网。因此,我们迫切需要自己的 git 存储库。到目前为止还算正常。我们的开发人员正在开发的项目得到了一家也为我们开发的外部公司的支持。该公司有自己的 git 存储库。他们无法直接访问我们的 git 存储库,我们也无法直接访问他们的 git 存储库。仅通过能够访问其存储库的僻静服务器提供访问权限。
为了更好地理解:
我的公司回购 = A ,外部公司回购 = B
这两个存储库都需要保持同步。两者具有相同的分支,A 中所做的更改应转移到 B,反之亦然。两家公司同时在所有分支机构开展业务。我告诉他们保留分离的分支来工作,但他们不听。反正...
到目前为止,我的解决方案是我在这里找到的这段脚本:
$ORIGIN_URL=EXTERNAL REPO B
$REPO1_URL=INTERNAL REPO A
/usr/bin/git clone -c http.sslVerify=false --bare $ORIGIN_URL
/usr/bin/git remote add --mirror=fetch repo1 $REPO1_URL
/usr/bin/git -c http.sslVerify=false fetch --all
/usr/bin/git fetch repo1 --tags
/usr/bin/git push origin --all
/usr/bin/git push origin --tags
/usr/bin/git push repo1 --all
/usr/bin/git push repo1 --tags
Run Code Online (Sandbox Code Playgroud)
问题是,由于两家公司在相同的分支上工作(即 A/fix1 和 B/fix1),我经常遇到冲突(更新被拒绝,因为推送的分支提示位于其远程(非快进)后面)。
我正在尝试找到一些脚本,可以为我和两家公司解决这个问题。
我什至很感激您就如何解决我一次又一次面临的这一冲突提供一些建议。
感谢您的帮助
问候 L。