我在我的服务器上安装了Gitlab,我不知道我愿意做什么是可能的。
我想设置Gitlab来监视我的回购站,附带所有的好东西,但我不想使用gitlaburl,因为我不想强迫所有开发者使用回购。
Gitlab自己的“导入”function似乎创build自己的url,所以这不会是我正在寻找的。
我的问题是:有没有办法使用旧的裸giturlgitlab?
我的简短回答是“不”。
更改或添加新的远程到现有的存储库不是一个这样的问题。 只要做git remote add gitlab git@<server>/owner/repository_link.git (或者其他链接),就完成了。 如果您想要replace“原点”遥控器,您甚至可以在.git文件夹中手动查看要执行的操作。 所以我不会那么关心这个新的URL,只是logging下需要做的事情,并通知他们你已经移动了。
不幸的是,gitlab依靠其url模式来获得每个repo的组/用户权限。
我能想象的唯一方法是可以在前端Web服务器中使用自定义重写规则。 然后,这些规则会将所有请求正确地重写到gitlab命名模式。 这当然要求您的开发人员只使用http(s)来访问回购站。 这种方法不会破坏上游代码库中的代码。
但是,如果你也使用ssh://(这是git推荐的),我唯一的办法就是在gitlab-shell中重写path:类GitlabShell有一个这个parse_cmd方法
def parse_cmd args = Shellwords.shellwords(@origin_cmd) @git_cmd = args[0] @repo_name = escape_path(args[1]) end
在这里你可以摆弄@repo_name。 这种方法会破坏上游代码库中的代码。
我很抱歉,但是因为您没有指定任何示例回购path,所以难以构成更具体的示例。
就我个人而言,我会与迁移import回购和发布新的url。 如果你可以提供一个git remote set-url origin ssh://[email protected]/newgroup/imported.git到你的同事,将尽量减less他们的工作,我猜想的列表。