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

时间:2014-01-18 11:17:17

标签: git gitlab

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

4 个答案:

答案 0 :(得分:10)

实际上,您必须修改默认克隆协议之上的其他两行。

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

答案 1 :(得分: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

而且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 :(得分:1)

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

  1. 打开终端并转到您的项目.git文件夹。
  

cd my_project / .git

  1. 打开浏览器。导航到Gitlab存储库。单击蓝色的“克隆”按钮。复制URL以通过https进行克隆。

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

  

vi config

  1. 将[remote“ origin”]块中现有网址的行更改为:
  

url = “粘贴复制的网址”

答案 3 :(得分:-1)

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