Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 帮助文档
  • Wiki
    • Docs
    • User
    • Project
    • Repo
  • repo mirror

帮
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1627
Star 125
Fork 140
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 166
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 23
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 89
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
帮
帮助文档
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 166
    • Issue 166
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 23
    • 合并请求 23
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 89
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板
You need to sign in or sign up before continuing.

repo mirror · 变更

页面历史
update files 编写于 11月 18, 2021 作者: BaiXuePrincess's avatar BaiXuePrincess
隐藏空白更改
内联 并排
Showing with 19 addition and 19 deletion
+19 -19
  • docs/user/project/repo/repo-mirror.md docs/user/project/repo/repo-mirror.md +19 -19
  • 未找到文件。
docs/user/project/repo/repo-mirror.md
View page @ e575f72b
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
## 概览[](#overview "Permalink") ## 概览[](#overview "Permalink")
当您想在 CODE CHINA 之外的平台使用存储库时,存储库镜像很有用。 当您想在 GitCode 之外的平台使用存储库时,存储库镜像很有用。
我们支持两种仓库镜像方式: 我们支持两种仓库镜像方式:
* 推送:用于将 CODE CHINA 仓库镜像到另一个位置 * 推送:用于将 GitCode 仓库镜像到另一个位置
* 拉取:用于将其他位置的仓库镜像到 CODE CHINA * 拉取:用于将其他位置的仓库镜像到 GitCode
至少具有 [Developer](/docs/user/permissions) 权限的用户也可以强制立即更新,除非: 至少具有 [Developer](/docs/user/permissions) 权限的用户也可以强制立即更新,除非:
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
以下是我们建议使用仓库镜像的一些场景: 以下是我们建议使用仓库镜像的一些场景:
* 您迁移到了 CODE CHINA,但仍需要将项目保留在另一个源中。在这种情况下,您只需将其设置为镜像到 CODE CHINA(拉取),所有提交,标签和分支的基本历史记录都将在您的 CODE CHINA 仓库中。 * 您迁移到了 GitCode,但仍需要将项目保留在另一个源中。在这种情况下,您只需将其设置为镜像到 GitCode(拉取),所有提交,标签和分支的基本历史记录都将在您的 GitCode 仓库中。
* 您在另一个源中有旧项目,这些旧项目不再使用,但又不想出于归档目的而删除它们。在这种情况下,您可以创建一个推送镜像,以便您的 CODE CHINA 仓库可以将其更改推送到旧源的项目中。 * 您在另一个源中有旧项目,这些旧项目不再使用,但又不想出于归档目的而删除它们。在这种情况下,您可以创建一个推送镜像,以便您的 GitCode 仓库可以将其更改推送到旧源的项目中。
## 推送到远程仓库[](#pushing-to-a-remote-repository-core "Permalink") ## 推送到远程仓库[](#pushing-to-a-remote-repository-core "Permalink")
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
启用推送镜像后,为防止镜像发散只有推送会直接提交到镜像仓库。任何时候,所有更改都将最终存储在镜像仓库中: 启用推送镜像后,为防止镜像发散只有推送会直接提交到镜像仓库。任何时候,所有更改都将最终存储在镜像仓库中:
* 提交被推送到 CODE CHINA * 提交被推送到 GitCode
* [强制更新](#强制更新)已启动 * [强制更新](#强制更新)已启动
推送到仓库中的文件的更改至少会自动推送到远程镜像: 推送到仓库中的文件的更改至少会自动推送到远程镜像:
...@@ -65,9 +65,9 @@ ...@@ -65,9 +65,9 @@
启用**保持差异 refs**选项后,将跳过`develop`分支,从而可以更新`master`和`stable`。镜像将反映`develop`已偏离并被跳过,并标记为更新失败。 启用**保持差异 refs**选项后,将跳过`develop`分支,从而可以更新`master`和`stable`。镜像将反映`develop`已偏离并被跳过,并标记为更新失败。
## 创建一个从 CODE CHINA 到 Github 的镜像 ## 创建一个从 GitCode 到 Github 的镜像
要设置从 CODE CHINA 到 GitHub 的镜像,您需要执行以下步骤: 要设置从 GitCode 到 GitHub 的镜像,您需要执行以下步骤:
1. 创建一个[GitHub 个人访问令牌](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) ,并选中`public_repo`复选框 1. 创建一个[GitHub 个人访问令牌](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) ,并选中`public_repo`复选框
2. 使用以下格式填写**Git 存储库 URL**字段: `https://<your_github_username>@github.com/<your_github_group>/<your_github_project>.git` 2. 使用以下格式填写**Git 存储库 URL**字段: `https://<your_github_username>@github.com/<your_github_group>/<your_github_project>.git`
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
您可以将仓库设置为自动从上游仓库更新分支,标记和提交。 您可以将仓库设置为自动从上游仓库更新分支,标记和提交。
当您感兴趣的仓库位于其他服务器上并且您希望能够在 CODE CHINA 中浏览其内容时,这个功能会十分有用。 当您感兴趣的仓库位于其他服务器上并且您希望能够在 GitCode 中浏览其内容时,这个功能会十分有用。
> **2021-4-6日更新:镜像拉取功能已经开放给全部用户使用** > **2021-4-6日更新:镜像拉取功能已经开放给全部用户使用**
> >
...@@ -101,18 +101,18 @@ ...@@ -101,18 +101,18 @@
[![Repository mirroring pull settings screen - upper part](/docs/img/repository_mirroring_pull_settings_upper.png)](/docs/img/repository_mirroring_pull_settings_upper.png) [![Repository mirroring pull settings screen - upper part](/docs/img/repository_mirroring_pull_settings_upper.png)](/docs/img/repository_mirroring_pull_settings_upper.png)
现在,由于 CODE CHINA 中的项目已经设置为从上游存仓库中提取更改,所以不应将提交直接推送到 CODE CHINA 上的仓库中。相反地,现在任何提交都应该推送到上游仓库。推送到上游仓库中的更改将被拉入 CODE CHINA 仓库中: 现在,由于 GitCode 中的项目已经设置为从上游存仓库中提取更改,所以不应将提交直接推送到 GitCode 上的仓库中。相反地,现在任何提交都应该推送到上游仓库。推送到上游仓库中的更改将被拉入 GitCode 仓库中:
* 在一定时间内自动拉取 * 在一定时间内自动拉取
* 启动[强制更新](#强制更新)时 * 启动[强制更新](#强制更新)时
**警告**:如果您确实在 CODE CHINA 仓库中更新了分支,则该分支将与上游分叉,并且 CODE CHINA 将不再自动更新该分支以防止丢失任何更改。另请注意,上游仓库中已删除的分支和标签将不会反映在 CODE CHINA 的仓库中。 **警告**:如果您确实在 GitCode 仓库中更新了分支,则该分支将与上游分叉,并且 GitCode 将不再自动更新该分支以防止丢失任何更改。另请注意,上游仓库中已删除的分支和标签将不会反映在 GitCode 的仓库中。
### 工作机制[](#how-it-works "Permalink") ### 工作机制[](#how-it-works "Permalink")
为仓库启用拉取镜像功能后,会将仓库添加到队列中。每分钟一次,Sidekiq cron 作业基于以下内容计划仓库镜像的更新: 为仓库启用拉取镜像功能后,会将仓库添加到队列中。每分钟一次,Sidekiq cron 作业基于以下内容计划仓库镜像的更新:
* 可用容量,这由 Sidekiq 设置确定, CODE CHINA 参考了 [Gitlab.com](https://docs.gitlab.com/13.2/ee/user/gitlab_com/index.html#sidekiq) 的默认配置。 * 可用容量,这由 Sidekiq 设置确定, GitCode 参考了 [Gitlab.com](https://docs.gitlab.com/13.2/ee/user/gitlab_com/index.html#sidekiq) 的默认配置。
* 队列中已经要更新的仓库镜像数,到期时间取决于仓库镜像的最后更新时间以及重试次数。 * 队列中已经要更新的仓库镜像数,到期时间取决于仓库镜像的最后更新时间以及重试次数。
Sidekiq 可用时,它就会开始处理仓库镜像并对它们进行拉取更新。更新仓库镜像的过程为: Sidekiq 可用时,它就会开始处理仓库镜像并对它们进行拉取更新。更新仓库镜像的过程为:
...@@ -148,7 +148,7 @@ SSH 身份验证是相互的: ...@@ -148,7 +148,7 @@ SSH 身份验证是相互的:
如果单击: 如果单击:
* **检测主机密钥**按钮,CODE CHINA 将从服务器获取主机密钥并显示指纹 * **检测主机密钥**按钮,GitCode 将从服务器获取主机密钥并显示指纹
* **手动输入主机密钥**按钮,将显示一个字段,您可以在其中粘贴主机密钥 * **手动输入主机密钥**按钮,将显示一个字段,您可以在其中粘贴主机密钥
假设您使用了前者,那么现在需要验证指纹是否符合您的期望. gitlhub.com 和其他代码托管站点公开公开其指纹,供您检查: 假设您使用了前者,那么现在需要验证指纹是否符合您的期望. gitlhub.com 和其他代码托管站点公开公开其指纹,供您检查:
...@@ -161,22 +161,22 @@ SSH 身份验证是相互的: ...@@ -161,22 +161,22 @@ SSH 身份验证是相互的:
* [Savannah](http://savannah.gnu.org/maintenance/SshAccess/) * [Savannah](http://savannah.gnu.org/maintenance/SshAccess/)
* [SourceForge](https://sourceforge.net/p/forge/documentation/SSH%20Key%20Fingerprints/) * [SourceForge](https://sourceforge.net/p/forge/documentation/SSH%20Key%20Fingerprints/)
在镜像仓库时,CODE CHINA 将在连接之前检查至少一个存储的主机密钥是否匹配,这样可以防止将恶意代码注入到您的镜像中,或者防止您的密码被盗。 在镜像仓库时,GitCode 将在连接之前检查至少一个存储的主机密钥是否匹配,这样可以防止将恶意代码注入到您的镜像中,或者防止您的密码被盗。
### SSH 公钥认证[](#ssh-public-key-authentication "Permalink") ### SSH 公钥认证[](#ssh-public-key-authentication "Permalink")
要使用 SSH 公钥身份验证,您还需要从**验证方式**下拉菜单中选择该选项。创建镜像后,CODE CHINA 将会自动生成一个 4096 位 RSA 密钥,可以通过单击**复制 SSH 公共密钥**按钮进行复制。 要使用 SSH 公钥身份验证,您还需要从**验证方式**下拉菜单中选择该选项。创建镜像后,GitCode 将会自动生成一个 4096 位 RSA 密钥,可以通过单击**复制 SSH 公共密钥**按钮进行复制。
[![Repository mirroring copy SSH public key to clipboard button](/docs/img/repository_mirroring_copy_ssh_public_key_button.png)](/docs/img/repository_mirroring_copy_ssh_public_key_button.png) [![Repository mirroring copy SSH public key to clipboard button](/docs/img/repository_mirroring_copy_ssh_public_key_button.png)](/docs/img/repository_mirroring_copy_ssh_public_key_button.png)
然后,您需要将公共 SSH 密钥添加到另一个仓库的配置中: 然后,您需要将公共 SSH 密钥添加到另一个仓库的配置中:
* 如果其他仓库托管在 CODE CHINA 上,则应将公共 SSH 密钥添加为 Deploy Key * 如果其他仓库托管在 GitCode 上,则应将公共 SSH 密钥添加为 Deploy Key
* 如果其他仓库位于其他位置,则可能需要将密钥添加到用户的`authorized_keys`文件中,将整个公共 SSH 密钥单独粘贴到文件中并保存。 * 如果其他仓库位于其他位置,则可能需要将密钥添加到用户的`authorized_keys`文件中,将整个公共 SSH 密钥单独粘贴到文件中并保存。
如果您需要更改密钥,则可以删除并重新添加镜像以生成新密钥。您必须使用新密钥更新另一个仓库,以保持镜像运行。 如果您需要更改密钥,则可以删除并重新添加镜像以生成新密钥。您必须使用新密钥更新另一个仓库,以保持镜像运行。
**注意**:生成的密钥存储在 CODE CHINA 数据库中,而不存储在文件系统中。因此,无法在 pre-recieve hook 中使用针对镜像的 SSH 公钥身份验证。 **注意**:生成的密钥存储在 GitCode 数据库中,而不存储在文件系统中。因此,无法在 pre-recieve hook 中使用针对镜像的 SSH 公钥身份验证。
### 覆盖分叉分支[](#overwrite-diverged-branches-starter "Permalink") ### 覆盖分叉分支[](#overwrite-diverged-branches-starter "Permalink")
...@@ -188,7 +188,7 @@ SSH 身份验证是相互的: ...@@ -188,7 +188,7 @@ SSH 身份验证是相互的:
### 仅镜像保护分支[](#only-mirror-protected-branches-starter "Permalink") ### 仅镜像保护分支[](#only-mirror-protected-branches-starter "Permalink")
您可以选择仅将受保护的分支从远程仓库拉到 CODE CHINA,未受保护的分支不会被镜像,并且允许分叉。 您可以选择仅将受保护的分支从远程仓库拉到 GitCode,未受保护的分支不会被镜像,并且允许分叉。
要使用此选项,请在创建仓库镜像时选中**仅镜像保护的分支**复选框。 要使用此选项,请在创建仓库镜像时选中**仅镜像保护的分支**复选框。
...@@ -206,7 +206,7 @@ SSH 身份验证是相互的: ...@@ -206,7 +206,7 @@ SSH 身份验证是相互的:
## 故障处理[](#troubleshooting "Permalink") ## 故障处理[](#troubleshooting "Permalink")
如果在推送过程中发生错误,则 CODE CHINA 将在该仓库中显示"错误"信息。然后,将鼠标悬停在突出显示的文本上,即可查看有关错误的详细信息。 如果在推送过程中发生错误,则 GitCode 将在该仓库中显示"错误"信息。然后,将鼠标悬停在突出显示的文本上,即可查看有关错误的详细信息。
[![Repository mirroring error tips](/docs/img/repository_mirroring_error.png)](/docs/img/repository_mirroring_error.png) [![Repository mirroring error tips](/docs/img/repository_mirroring_error.png)](/docs/img/repository_mirroring_error.png)
......
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7