浙江建筑协会网站,能源建设网站,wordpress演示数据,100件智能创意产品设计一. 引言 我们在实际工作中经常会涉及项目备份问题#xff0c;尽管公司都有自己的仓库#xff0c;但是呢很多情况下我们都还需要另外一个仓库。 一方面公司仓库通常需要公司内网或者链接VPN#xff0c;有时候临时要用可能并不方便。 另一方面可能自己也希望备份一份#…一. 引言我们在实际工作中经常会涉及项目备份问题尽管公司都有自己的仓库但是呢很多情况下我们都还需要另外一个仓库。一方面公司仓库通常需要公司内网或者链接VPN有时候临时要用可能并不方便。另一方面可能自己也希望备份一份或者是一个仓库的成员不够用。本篇博客会通过完整的实战步骤来介绍如何实现Git双远程仓库同步。二. 查看当前的远程仓库执行命令git remote -v通常来讲输入如下origin https://***bitbucket.org/louis_private_project/ignoremodules.git (fetch) origin https://***bitbucket.org/louis_private_project/ignoremodules.git (push)这就表示现在只绑定了一个远程仓库。它的含义是拉取代码fetch/pull推送代码pushGit 把拉取和推送地址分开显示了默认情况下pull 和 push 用的是同一个远程仓库。三.添加第二个远程仓库以 Gitee 为例我们就以Gitee仓库作为第二个远程仓库为例进行说。3.1 命名规范说明当前项目我们已经绑定了bitbucket并且默认remote名称为origin。那么我们在添加第二个远程仓库时一定要注意名字不能重复那就不能再叫origin了建议起一个有意义的名字常见的命名方式gitee origin_gitee backup mirror例如主仓库originbitbucket镜像仓库giteegitee这样后续操作时更清晰也不容搞混。3.2 提前准备远程仓库在本地添加 remote 之前需要先在 Gitee 平台上手动创建一个空仓库。创建完成之后会有相关提示告诉我们如何链接远程仓库但是我们是第二个远程仓库因此别着急按它的提示去操作。创建完成后会得到一个仓库地址例如https://gitee.com/***/ignore-modules.git3.3 添加第二个远程仓库远程仓库创建完成后就可以在本地进行绑定。我们就按照已有仓库的提示来操作但是记得修改远程分支名称为“gitee”而不是“origin”git remote add gitee https://gitee.com/***/ignore-modules.git命令格式说明git remote add remote名称 仓库地址在本例中remote名称gitee仓库地址https://gitee.com/***/ignore-modules.git这就相当于给当前项目新增了一个名为gitee的远程仓库。3.4 查看绑定结果这次我们再来查看当前项目的远程仓库地址git remote -v这次可以看见有四条输出gitee https://gitee.com/***/ignore-modules.git (fetch) gitee https://gitee.com/***/ignore-modules.git (push) origin https://***bitbucket.org/louis_private_project/ignoremodules.git (fetch) origin https://***bitbucket.org/louis_private_project/ignoremodules.git (push)这就说明当前项目已经绑定了两个远程仓库origin - Bitbucketgitee - Gitee拉取和推送都可以正常使用至此第二个远程仓库添加完成。四.推送与拉取如何使用多个远程仓库我们已经成功为本地仓库绑定了两个远程仓库gitee https://gitee.com/***/ignore-modules.git (fetch) gitee https://gitee.com/***/ignore-modules.git (push) origin https://***bitbucket.org/louis_private_project/ignoremodules.git (fetch) origin https://***bitbucket.org/louis_private_project/ignoremodules.git (push)当前项目已经同时关联了 Gitee 和 Bitbucket 两个远程仓库。接下来要解决的问题就是如何在多个远程仓库之间进行推送和拉取4.1 指定远程仓库进行推送当项目存在多个 remote 时Git 不会自动帮你选择目标仓库。此时推送需要显式指定远程名称。基本格式git push remote名 分支名例如推送到 Bitbucketorigingit push origin main推送到 Giteegit push gitee main这样可以做到按需选择同步目标仓库适合偶尔同步、手动控制场景。4.2 同时推送到多个远程仓库推荐如果你希望一次 push同步多个仓库可以给同一个 remote 绑定多个 push 地址。4.2.1 给 origin 添加多个 push 地址例如将 Gitee 也绑定到 origingit remote set-url --add origin https://gitee.com/***/ignore-modules.git执行后查看git remote -v结果类似origin https://***bitbucket.org/... (fetch) origin https://***bitbucket.org/... (push) origin https://gitee.com/***/... (push)说明fetch仍然从 Bitbucket 拉取push同时推送 Bitbucket Gitee4.2.2 使用方式之后只需执行git push origin main即可自动同步两个仓库。非常适合做 镜像仓库自动备份。五. 结语合理使用多远程仓库让项目管理更高效通过前面的介绍我们已经完整实践了如何为本地仓库添加多个远程仓库如何指定不同仓库进行推送如何实现一次命令同步多个平台可以看到Git 本身已经为多仓库场景提供了非常成熟、灵活的支持机制。关键在于是否合理使用。使用建议经验总结结合实际项目经验这里给出几种常见场景下的推荐方案供参考。5.1. 个人项目 / 开源项目适合人群个人开发者、开源作者推荐方式主仓库 镜像仓库 配置多个 push 地址特点GitHub 作为主仓库Gitee 作为国内镜像一次 push多端同步优点省心、省事、自动备份。5.2. 公司项目 个人备份适合人群企业开发者推荐方式origin公司仓库 gitee个人备份仓库 分别维护特点公司仓库作为唯一主仓个人仓库仅做备份不影响团队协作流程优点安全、合规、风险可控。5.3. 重要项目 / 长期维护项目适合人群核心业务项目、长期项目推荐方式主仓 备份仓 镜像仓 多端同步特点至少两个平台备份防误删、防权限回收防平台风险优点极高安全性降低不可控风险。5.4. 拉取单一来源推送多端同步推荐 适合大多数项目的通用方案fetch主仓库 push主仓 镜像仓特点统一代码来源自动多端同步避免分支混乱这是实际工作中最常用、最稳妥的一种配置方式。写在最后很多 Git 的高级用法其实并不复杂只是平时很少有人系统整理。希望这篇文章能帮你真正理解Git 多远程仓库不是技巧而是一种工程习惯。如果你觉得本文对你有帮助欢迎点赞、收藏、关注。