如何在gitlab中将http设置为项目默认url

yeg*_*omo 15 git gitlab

当在gitlab中打开一个项目时,你会在项目主页的顶部看到SSH和HTTP(或HTTPS)url,SSH url是默认的,但我想将HTTP(或HTTPS)设置为默认值,那我该怎么办?做?谢谢

小智 10

事实上,您必须修改default_clone_protocol之上的其他2行.

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
Run Code Online (Sandbox Code Playgroud)


Von*_*onC 8

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
Run Code Online (Sandbox Code Playgroud)

而default_clone_protocol的定义是 app/helpers/projects_helper.rb

def default_clone_protocol
    current_user ? "ssh" : "http"
end
Run Code Online (Sandbox Code Playgroud)

因此,您可以更改该代码,或添加设置config/gitlab.yml.example以使其成为参数.

正如Mosi Wang回答所提到的,该函数default_url_to_repo在该订单的定义中也发挥作用,因为它返回project.url_to_repo : project.http_url_to_repo.
撤销订单也有帮助.