Как установить http в качестве URL-адреса проекта по умолчанию в gitlab

при открытии проекта в gitlab вы увидите URL-адрес SSH и HTTP (или HTTPS) в верхней части главной страницы проекта, по умолчанию используется SSH-url, но я хочу установить HTTP (или HTTPS) по умолчанию, поэтому как мне это сделать? Благодаря

Ответы

Ответ 1

Файл app/views/shared/_clone_panel.html.haml показывает:

.git-clone-holder.input-group
  .input-group-btn
    %button{class: "btn #{ 'active' if default_clone_protocol == 'ssh' }", :"data-clone" => project.ssh_url_to_repo} SSH
    %button{class: "btn #{ 'active' if default_clone_protocol == 'http' }", :"data-clone" => project.http_url_to_repo}= gitlab_config.protocol.upcase

И этот default_clone_protocol определяется в app/helpers/projects_helper.rb

def default_clone_protocol
    current_user ? "ssh" : "http"
end

Итак, вы можете изменить этот код или добавить параметр в config/gitlab.yml.example, чтобы сделать его параметром.

Как упоминалось Mosi Wang answer, функция default_url_to_repo также играет роль в определении этого порядка, так как он возвращает project.url_to_repo : project.http_url_to_repo.
Также может помочь реверсирование заказа.

Ответ 2

infact, вам нужно изменить еще 2 строки над параметром default_clone_protocol.

def default_url_to_repo(project = nil)
  project = project || @project
  current_user ? project.http_url_to_repo : project.url_to_repo
end

def default_clone_protocol
  current_user ? "http" : "ssh"
end

Ответ 3

Я наткнулся на эту проблему, запустив несколько учетных записей Gitlab на одном компьютере, для которых требовались разные настройки протокола доступа, но каждый пост, который я видел, был связан с изменениями настроек в глобальном масштабе. Чтобы избежать проблем с настройкой, я искал способ изменить настройки для каждого проекта локально. Следующие шаги исправили мои проблемы:

  1. Откройте терминал и перейдите в папку ваших проектов .git.

cd my_project/.git

  1. Откройте браузер. Перейдите к репозиторию Gitlab. Нажмите синюю кнопку "Клон". Скопируйте URL для клонирования через https.

  2. Снова переключитесь на терминал. Отредактируйте файл с именем "config", расположенный в папке .git. Я использовал "Vim" для редактирования.

Конфиг vi

  1. Измените строку с существующим URL в блоке [remote "origin"] на:

url = "вставить скопированный URL"