git 实现两个仓库间的代码同步

目录

项目场景

解决思路

方案实施


项目场景

一个项目由 A 开发团队和 B 开发团队共同开发,由于网络等客观因素的限制,两个开发团队需要分别将代码提交到位于不同服务器上的 A 仓库 和 B 仓库的 develop 分支。A 团队成员可以访问 A 仓库和 B 仓库,B 团队成员只能访问 B 仓库。为了实现 A 仓库和 B 仓库的同步,需要 A 开发团队的负责人每天将两个仓库 develop 分支的代码进行同步更新。


解决思路

  • 在 B 仓库里拉一个 develop-merge 的分支,每次把 A 仓库 develop 分支的代码覆盖到这个分支,再把 B 仓库的 develop 分支合并到 develop-merge 分支。最后覆盖回 A 仓库的 develop 分支,并 merge 到 B 仓库的 develop分支。
  • 在 B 仓库的 develop-merge 分支合并代码,合完后有两个方向,一是拷贝到 A 仓库的本地目录,再提交;二是 merge 到 B 仓库的 develop 分支。

方案实施

A 开发团队和 B 开发团队分别在 A 仓库和 B 仓库的 develop 分支上提交所有代码。

本地 A 仓库切到 develop 分支拉取最新代码。

本地 B 仓库切到 develop-merge 分支。把 A 仓库本地目录的 develop 分支源代码整体复制,覆盖 本地 B 仓库的 develop-merge 分支。

在本地 B 仓库的 develop-merge 分支上执行:

git add 
git commit -m "同步代码"

本地 B 仓库切到 develop 分支,拉取 B 仓库远程最新代码,切回 develop-merge 分支,合并 develop 分支,执行:

git merge develop

解决冲突后再执行:

git add .
git commit -m "同步代码"
git push

切到本地 B 仓库的 develop 分支,

# 把本地 B 仓库的 develop-merge 分支合并到 develop 分支
git merge develop-merge
# 提交
git push origin develop

切回本地 B 仓库的 develop-merge 分支,把 B 仓库本地目录的 develop-merge 分支源代码整体复制,覆盖 A 仓库本地目录的 develop 分支。在本地 A 仓库的 develop 分支执行:

git add
git commit -m '同步代码'
git push origin develop

通过以上操作,A 仓库和 B 仓库的 develop 分支代码实现了同步更新。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值