我面临以下问题,目前已经无法想到解决方案:
我们公司不允许开发人员直接访问互联网。因此,我们非常需要自己的git存储库。目前为止都还好。我们的开发人员正在开发的项目得到了外部公司的支持,该公司也在为我们开发。他们有自己的git存储库。他们不能直接访问我们的git存储库,我们也不能直接访问他们的存储库。只能通过一个能够访问他们存储库的隔离服务器进行访问。
更好地理解:
我的公司存储库 = A,外部公司存储库 = B
这两个存储库都需要保持同步。两者都具有相同的分支,并且在A中进行的更改应该传递到B,反之亦然。两家公司同时在所有分支上工作。我告诉他们要保持分离的分支来工作,但他们没有听。无论如何...
迄今为止,我的解决方案是我在这里找到的一段脚本:
问题在于,由于两个公司都在同一个分支上工作(即:A/fix1和B/fix1),我经常会遇到冲突(更新被拒绝,因为推送的分支头落后于其远程(非快进))。
我正在尝试找到一些脚本,可以为我和两个公司解决这个问题。
我甚至会感激一些关于如何解决我一次又一次面对的这个冲突的建议。
谢谢您的帮助。
敬礼
L.
我们公司不允许开发人员直接访问互联网。因此,我们非常需要自己的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
问题在于,由于两个公司都在同一个分支上工作(即:A/fix1和B/fix1),我经常会遇到冲突(更新被拒绝,因为推送的分支头落后于其远程(非快进))。
我正在尝试找到一些脚本,可以为我和两个公司解决这个问题。
我甚至会感激一些关于如何解决我一次又一次面对的这个冲突的建议。
谢谢您的帮助。
敬礼
L.