如何同步两个存储库的所有分支(一个在github中,一个在gitlab中),以防止合并冲突?

时间:2017-07-07 16:59:58

标签: git github gitlab

存储库X.git位于gitlab中,包含所有开发工件和相应的分支 我使用以下方法在github中创建Y.git 在一个公共服务器中,我做了一个gitlab镜像

git clone --mirror http://gitlabserverdomain/user/X.git
cd X.git
git remote add githubrepoalias https://githubserverdomain/Y.git
git push -f --tags githubrepoalias refs/heads/*:refs/heads/*

现在我想让用户使用任何一个存储库并希望同步任一提交

这些提交不应导致合并冲突。

我如何实现目标?

2 个答案:

答案 0 :(得分:2)

我认为无法防止GitHub中进行的更改与GitLab中进行的其他更改之间发生冲突。尝试直接在服务器上使用挂钩来最小化它。

答案 1 :(得分:0)

一切皆有可能:)

您只需要某种方式即可:

  • 定义git双向获取
  • 使同步间隔尽可能短(例如,使用Web钩子在有新的提交时立即触发同步)

我刚刚使用GitLab镜像功能进行了测试:https://docs.gitlab.com/ee/workflow/repository_mirroring.html

我已经定义了两者指向GitHub存储库的推和拉规则,并且该规则有效-更改是双向同步的。