将gitlab.com中的repo导入到本地gitlab实例

时间:2015-11-17 19:59:03

标签: gitlab

我在gitLab.com上创建了一个用户并创建了一个新的(当前为空)项目。

然后我下载了社区版并安装到我的本地计算机上。我很乐意导航到http://localhost/dashboard/projects,并希望“导入”我在gitlab.com上创建的项目

我已经按照本地服务器上http://localhost/help/integration/gitlab的说明进行了操作,但是在我在本地重新启动gitlab应用程序之后,我从未获得“通过gitlab.com登录”的选项后,显然无法解决问题。 / p>

以下是设置的一些细节

gitlab_rails['omniauth_providers'] = [
   {
     "name" => "GitLab.com Oath _ to local",
     "app_id" => "from the app ID on GitLab.com",
     "app_secret" => "from the app secret on GitLab.com",
     "args" => { "scope" => "api" }
   }
 ]

服务器上的应用程序设置如下。

Name : GitLab.com Oath _ to local
appId : crazyLongNumberID
appSecret : crazyLongSecretNumber

    Callback URL :
    http://localhost/import/gitlab/callback
    http://localhost/users/auth/gitlab/callback 

有没有人可以给我一个正确的方向来解决我的问题。

提前致谢。

大卫

1 个答案:

答案 0 :(得分:0)

所以我不喜欢回答我自己的问题,但是......

所以我有点蠢。

诀窍是使用git创建我在本地gitlab实例上创建的projet的克隆。请注意,这必须使用项目的http而不是ssh版本完成。

git clone http://localhost/davem/projectName.git

这会在我运行git命令的目录中创建一个projectName的子文件夹。 然后添加一些文件(例如自述文件),然后使用git push

将其提交回本地实例

git commit -m "add README" git push -u origin master

然后将内容链接到主gitlab.com网站(假设你已经调用了同样的东西。

git remote add gitlab.com git@gitlab.com:YourUserName/projectName.git

这增加了远程项目,并且还为服务器提供了'git@gitlab.com'的'别名',所以现在我们可以通过以下方式推送到这个服务器:

git push gitlab.com

如果我已正确理解,您可以将多个命名服务器推送到。例如,如果你有一个拥有自己的gitLab.com网站的同事,你可以添加它们以及... ...

git remote add FriendsName git@gitlab.com:FriendsName/projectName.git

现在你可以用

推送给他们

git push FriendsName

我显然还没有测试过这个...但我猜这是应该如何工作的。要查看已设置的别名,请使用

git remote -v

我现在是一个快乐的兔子rabit,并准备在其他地方设置更多的东西。如果我在这里做了任何不好的假设,请随意编辑。

大卫