Github上手指南(十)|仓库镜像管理 ( Gitee <-> Github 如何双向同步代码仓库)
功能简介
仓库镜像管理功能用于配置和管理仓库镜像;配置仓库镜像可以实现不同平台之间仓库分支、标签和提交信息的自动同步。
Gitee 支持设置两种镜像:
-
Push:用于将
Gitee
的仓库自动镜像到GitHub
。配置此镜像后,当你提交代码到 Gitee 的仓库时,Gitee 会自动向 GitHub 同步仓库。
-
Pull:用于将
GitHub
的仓库镜像到Gitee
。你可以根据自身需求选择 自动镜像 或 手动镜像;
自动镜像:当你提交代码到 GitHub 镜像仓库时,Gitee 会自动从 GitHub 同步仓库;
仓库镜像会同步以下内容:
- 分支(Branches)
- 标签(Tags)
- 提交记录(Commits)
配置仓库镜像可以帮助你管理 GitHub 的仓库,减少维护不同平台仓库的时间成本。
配置仓库镜像
添加 Push 方向的镜像
Push 方向的镜像用于将 Gitee
的仓库自动镜像到 GitHub
。
配置此镜像后,当你提交代码到 Gitee 的仓库时,Gitee 会自动向 GitHub 同步仓库。
你可以通过以下方式添加 Push 方向的镜像:
- 进入需要使用镜像功能的仓库,进入「管理」找到「仓库镜像管理」选项,点击「添加镜像」按键;
- 添加镜像;
-
在「镜像方向」中选择 Push 方向;
-
在「镜像仓库」下拉列表中选择需要镜像的仓库;
-
在「个人令牌」中输入你的 [GitHub 私人令牌]
- 私人令牌中必须包含对
repo
的访问授权,否则添加后镜像不可用。
- 私人令牌中必须包含对
-
点击「添加」保存镜像配置。
配置完成后,可以通过以下方式触发镜像操作(Gitee 向 GitHub 同步仓库):
- 提交代码到 Gitee 仓库
- 手动更新镜像
镜像触发的最短间隔时间为 5 分钟。
如果只配置了 Push 方向的镜像,建议将最新的代码提交到 Gitee 仓库;
Gitee 会自动向 GitHub 同步仓库(分支/Branches、标签/Tags、提交记录/Commits)。
添加 Pull 方向的镜像
Pull 方向的镜像用于将 GitHub
的仓库镜像到 Gitee
。
你可以根据自身需求选择 自动镜像 或 手动镜像。
你可以通过以下方式配置 Pull 方向的镜像:
-
进入需要使用镜像功能的仓库,进入「管理」找到「仓库镜像管理」选项,点击「添加镜像」按键;
如果你还没有绑定 GitHub 帐号,请根据弹窗提示绑定 GitHub 帐号;
-
添加镜像;
-
在「镜像方向」中选择 Pull 方向;
-
在「镜像仓库」下拉列表中选择需要镜像的仓库;
-
在「个人令牌」中输入你的 [GitHub 私人令牌]
- 私人令牌中必须包含对
repo
的访问授权,否则添加后镜像不可用;
- 私人令牌中必须包含对
-
根据自身需求选择是否勾选「自动从 GitHub 同步仓库」;
- 勾选后,我们将会在镜像仓库中自动生成 webhook 用于实现自动镜像;
- 此功能需要你的个人令牌中包含对
admin:repo_hook
的访问授权,否则会添加失败;
-
点击「添加」保存镜像配置;
-
配置完成后,可以通过以下方式触发镜像操作(Gitee 从 GitHub 同步仓库):
- 推送代码到 GitHub 镜像仓库
- 手动更新镜像
镜像触发的最短间隔时间为 5 分钟。
如果只配置了 Pull 方向的镜像,建议你将最新的代码提交到 GitHub 镜像仓库;
Gitee 会自动从 GitHub 同步仓库(分支/Branches、标签/Tags、提交记录/Commits)。
双向镜像
双向镜像指对同一个 GitHub 仓库同时配置了两种镜像。
配置双向镜像后,你在任意一个平台上提交的代码都将被同步到另一个平台。
Note:双向镜像目前存在代码丢失的风险,请谨慎使用!
为避免代码丢失,使用 双向镜像 功能时,请遵循以下规则
- 不要同一时间在 Gitee 仓库和 GitHub 镜像仓库提交代码;
- 尽量保证 Gitee 仓库和 GitHub 镜像仓库的提交代码间隔时间大于 30 分钟。
如何申请 GitHub 私人令牌?
GitHub 私人令牌用于授予 Gitee 读写 Github 仓库的权限。
你可以通过以下方式申请 GitHub 私人令牌:
-
登录与 Gitee 绑定的 GitHub 帐号;
-
通过路径「用户头像」→「Settings」进入「Developer setting」;
-
选择「Personal access tokens」选项后点击「Generate new token」;
-
「Note」字段可以随意填写;例如,Gitee_Mirror;
-
「Select scopes」字段请根据你的需求进行勾选;
-
repo
字段为必选字段,请您直接勾选; -
admin:repo_hook
字段为可选字段,用于自动生成 webhook;当您需要 Gitee 自动从 GitHub 同步仓库时,建议勾选。
-
-
点击「Generate token」生成私人令牌;
-
复制私人令牌并妥善保管。
本期教程就到这里了,如果在github和gitee想同时保存一份代码的码友可以去试试了。
转载自:https://juejin.cn/post/7202783173113086008