从远程仓库拉取
- 在 13.9 版本中移至 GitLab Premium。
您可以使用极狐GitLab 界面浏览仓库的内容和活动,即使它不托管在极狐GitLab 上。创建一个拉取镜像以将上游仓库的分支、标签和提交复制到您的仓库中。
与推送镜像不同,拉取镜像会定期从上游(远程)仓库检索更改。为了防止镜像与上游仓库发生偏离,请不要直接向下游镜像推送提交。相反,请将提交推送到上游仓库。远程仓库中的更改会被拉取到极狐GitLab 仓库中:
- 在上一次拉取后 30 分钟自动进行。此操作无法禁用。
- 当管理员强制更新镜像时。
- 当API 调用触发更新时。
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