Как установить 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 на одном компьютере, для которых требовались разные настройки протокола доступа, но каждый пост, который я видел, был связан с изменениями настроек в глобальном масштабе. Чтобы избежать проблем с настройкой, я искал способ изменить настройки для каждого проекта локально. Следующие шаги исправили мои проблемы:
- Откройте терминал и перейдите в папку ваших проектов .git.
cd my_project/.git
-
Откройте браузер. Перейдите к репозиторию Gitlab. Нажмите синюю кнопку "Клон". Скопируйте URL для клонирования через https.
-
Снова переключитесь на терминал. Отредактируйте файл с именем "config", расположенный в папке .git. Я использовал "Vim" для редактирования.
Конфиг vi
- Измените строку с существующим URL в блоке [remote "origin"] на:
url = "вставить скопированный URL"
Ответ 4
Если это все еще важно для вас, подумайте о комментировании https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1811 или https://gitlab.com/gitlab-org/gitlab-ce/issues/3504. Если этот запрос будет одобрен, он решит вашу проблему в стандартном продукте. Запрос слияния считается "как мы говорим".