将 repo 从 gitlab.com 导入到本地 gitlab 实例
Importing repo from gitlab.com to local gitlab instance
我在 gitLab.com 上创建了一个用户并创建了一个新的(当前为空)项目。
然后我下载了社区版并安装到我的本地机器上。我可以愉快地导航到 http://localhost/dashboard/projects 并想 'import' 我在 gitlab.com
上创建的项目
我已经按照 http://localhost/help/integration/gitlab 本地服务器上的说明进行操作,但显然有些事情没有解决,因为我在本地重新启动 gitlab 应用程序后从未获得 'login via gitlab.com' 的选项。
这里是设置的一些细节
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
有没有人可以在正确的方向轻轻推动我解决我的问题。
提前致谢。
大卫
所以我不喜欢回答自己的问题,但是...
所以我有点傻。
诀窍是使用 git 创建我在本地 gitlab 实例上创建的项目的克隆。请注意,这必须使用项目的 http 而不是 ssh 版本来完成。
git clone http://localhost/davem/projectName.git
这会在 运行 git 命令所在的目录中创建一个 projectName
的子文件夹。
然后添加一些文件(例如自述文件),然后使用 git push
将其提交回本地实例
git commit -m "add README"
git push -u origin master
然后 link 将事情移交给主要的 gitlab.com 站点(假设您已将项目命名为相同的东西。
git remote add gitlab.com git@gitlab.com:YourUserName/projectName.git
这会添加到远程项目中,并且还会为服务器提供 'alias' 的 '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
我现在是一只快乐的兔子,准备在别处设置更多东西。如果我在这里做出了任何错误的假设,请随时进行相应的编辑。
大卫
我在 gitLab.com 上创建了一个用户并创建了一个新的(当前为空)项目。
然后我下载了社区版并安装到我的本地机器上。我可以愉快地导航到 http://localhost/dashboard/projects 并想 'import' 我在 gitlab.com
上创建的项目我已经按照 http://localhost/help/integration/gitlab 本地服务器上的说明进行操作,但显然有些事情没有解决,因为我在本地重新启动 gitlab 应用程序后从未获得 'login via gitlab.com' 的选项。
这里是设置的一些细节
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
有没有人可以在正确的方向轻轻推动我解决我的问题。
提前致谢。
大卫
所以我不喜欢回答自己的问题,但是...
所以我有点傻。
诀窍是使用 git 创建我在本地 gitlab 实例上创建的项目的克隆。请注意,这必须使用项目的 http 而不是 ssh 版本来完成。
git clone http://localhost/davem/projectName.git
这会在 运行 git 命令所在的目录中创建一个 projectName
的子文件夹。
然后添加一些文件(例如自述文件),然后使用 git push
git commit -m "add README"
git push -u origin master
然后 link 将事情移交给主要的 gitlab.com 站点(假设您已将项目命名为相同的东西。
git remote add gitlab.com git@gitlab.com:YourUserName/projectName.git
这会添加到远程项目中,并且还会为服务器提供 'alias' 的 '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
我现在是一只快乐的兔子,准备在别处设置更多东西。如果我在这里做出了任何错误的假设,请随时进行相应的编辑。
大卫