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



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

实际上,您必须修改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

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

并且在app/helpers/projects_helper.rb中定义了default_clone_protocol

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

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

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

我在同一台机器上运行多个Gitlab帐户时遇到了这个问题,这些帐户需要不同的访问协议设置,但我看到的每一篇帖子都与全局设置的变化有关。为了避免配置问题,我寻找了一种在本地更改每个项目设置的方法。以下步骤解决了我的问题:

  1. 打开终端并更改到projects.git文件夹中

cd my_project/.git

  1. 打开浏览器。导航到Gitlab repo。单击蓝色"克隆"按钮。通过https复制用于克隆的URL。

  2. 再次切换到终端。编辑位于.git文件夹中的名为"config"的文件。我用"Vim"进行编辑。

vi配置

  1. 将[remote"origin"]块中具有现有url的行更改为:

url="粘贴复制的url">

如果这对您来说仍然很重要,请考虑评论https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1811或https://gitlab.com/gitlab-org/gitlab-ce/issues/3504.如果此请求获得批准,它将解决您在标准产品中的问题。合并请求正在考虑中。

最新更新