从远程仓库拉取

  • 在 13.9 版本中移至 GitLab Premium。

您可以使用极狐GitLab 界面浏览仓库的内容和活动,即使它不托管在极狐GitLab 上。创建一个拉取镜像以将上游仓库的分支、标签和提交复制到您的仓库中。

推送镜像不同,拉取镜像会定期从上游(远程)仓库检索更改。为了防止镜像与上游仓库发生偏离,请不要直接向下游镜像推送提交。相反,请将提交推送到上游仓库。远程仓库中的更改会被拉取到极狐GitLab 仓库中:

UI 和 API 更新受默认的拉取镜像间隔限制,为 5 分钟。私有化部署实例可以配置此间隔。

默认情况下,如果下游拉取镜像上的任何分支或标签与本地仓库发生偏离,极狐GitLab 会停止更新该分支。这可以防止数据丢失。上游仓库中删除的分支和标签不会在下游仓库中反映出来。

注意: 从下游拉取镜像仓库中删除的项目,但仍在上游仓库中的项目,会在下一次拉取时恢复。例如:仅在镜像仓库中删除的分支会在下一次拉取后重新出现。

Project.find_each do |p|
  if p.import_state && p.import_state.retry_count >= 14
    puts "Resetting mirroring operation for #{p.full_path}"
    p.import_state.reset_retry_count
    p.import_state.set_next_execution_to_now(prioritized: true)
    p.import_state.save!
  end
end

相关主题