是否可以在一台机器上使用GitHub和GitLab?

时间:2016-11-11 13:46:51

标签: git ubuntu github gitlab

我在 GitHub GitLab 中拥有帐户。我在 GitLab 中为我的帐户生成并添加了一个RSA密钥,但现在我需要在第二个项目中使用 GitHub

我知道GitLab和GitHub都使用git。请告诉我是否可以在一台机器上使用GitHub和GitLab?

3 个答案:

答案 0 :(得分:15)

是的,你可以,你可以在它们之间共享相同的密钥(ssh密钥)或为每个git服务器创建一个新密钥。

创建SSH配置文件

  

如果您有多个身份文件(在您的情况下,一个用于gitlab,另一个用于github),请创建一个SSH配置文件来存储您的各种身份。

     

此示例中使用的别名条目的格式为:

Host alias 
  HostName github.com 
  IdentityFile ~/.ssh/identity
     

要为两个身份(workid和personalid)创建配置文件,您可以执行以下操作:

Open a terminal window.
Edit the ~/.ssh/config file. 

如果您没有配置文件,请创建一个 为每个标识组合添加别名,例如:

Host github
HostName github.com 
IdentityFile ~/.ssh/github

Host gitlab
HostName gilab.com 
IdentityFile ~/.ssh/gitlab

通过这种方式,您可以拥有任意数量的帐户,每个帐户都附加了一个不同的ssh密钥。

答案 1 :(得分:6)

绝对是的!现在你使用ssh作为传输,你已经完成了一半的工作。

GitHub和Gitlab都是远程(中央)存储库。这一切都取决于您用来推送提交的remote

如果您已经在GitHub上创建了一个项目并克隆了它,您将看到远程(默认情况下为origin)指向GitHub链接。在项目目录中运行$ git remote -v进行检查。

如果你想在GitLab上推送同一个项目,你所要做的就是添加另一个名字不同的remote

$ git remote add <different-remote-name> <gitlab-remote-link>

现在,只要您想要更新特定的遥控器,只需按下即可。

答案 2 :(得分:4)

要使用两个不同的名称,必须将SSH密钥添加到两个Git服务器(Bitbucket,Gitlab或Github),并使用凭据配置git。 如果两个帐户使用相同的电子邮件地址,则可以使用:

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

如果帐户使用不同的电子邮件,则必须使用本地配置文件设置每个存储库

git config --local user.name "Your Name"
git config --local user.email "email@example.com"

本地配置将覆盖全局配置。因此,您可以为最常用的帐户使用全局配置。