我在GitHub和GitLab中有帐户。我在GitLab中生成了RSA密钥并将其添加到我的帐户中,但现在我需要在第二个项目中使用GitHub。我知道GitLab和GitHub都使用git。请告诉我是否可以在一台机器上同时使用GitHub和GitLab?
biswetbf1#
是的,你可以在它们之间共享相同的密钥(ssh密钥),或者为每个git服务器创建一个新的密钥。
当你有多个身份文件时(在你的例子中,一个用于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密钥。
llycmphe2#
要使用两个不同的Git服务器(Bitbucket,Gitlab或Github),你必须在两个Git服务器上添加SSH密钥,并使用你的凭据配置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"
本地配置将覆盖全局配置。因此,您可以对最常用的帐户使用全局配置。
6ie5vjzr3#
当然可以!现在您使用ssh作为传输,您已经完成了一半的工作。GitHub和Gitlab都是远程(中央)仓库,这完全取决于你用来推送提交的remote。如果你已经在GitHub上创建了一个项目,并克隆了它,你会看到remote(默认为origin)指向GitHub链接。在项目目录中运行$ git remote -v进行检查。如果你想在GitLab上推送相同的项目,你所要做的就是用不同的名字添加另一个remote。$ git remote add <different-remote-name> <gitlab-remote-link>现在,无论何时您想要更新特定的遥控器,只需按下即可。
ssh
remote
origin
$ git remote -v
$ git remote add <different-remote-name> <gitlab-remote-link>
3条答案
按热度按时间biswetbf1#
是的,你可以在它们之间共享相同的密钥(ssh密钥),或者为每个git服务器创建一个新的密钥。
创建SSH配置文件
当你有多个身份文件时(在你的例子中,一个用于gitlab,一个用于github),创建一个SSH配置文件来存储你的各种身份。
此示例中使用的别名条目的格式为:
要为两个身份(workid和personalid)创建配置文件,请执行以下操作:
如果没有配置文件,请创建一个。
为每个身份组合添加别名,例如:
这样,您可以拥有任意多个帐户,每个帐户都附加了不同的ssh密钥。
llycmphe2#
要使用两个不同的Git服务器(Bitbucket,Gitlab或Github),你必须在两个Git服务器上添加SSH密钥,并使用你的凭据配置git。如果两个帐户使用相同的电子邮件地址,你可以用途:
如果帐户使用不同的电子邮件,您必须使用本地配置文件设置每个存储库
本地配置将覆盖全局配置。因此,您可以对最常用的帐户使用全局配置。
6ie5vjzr3#
当然可以!现在您使用
ssh
作为传输,您已经完成了一半的工作。GitHub和Gitlab都是远程(中央)仓库,这完全取决于你用来推送提交的
remote
。如果你已经在GitHub上创建了一个项目,并克隆了它,你会看到remote(默认为
origin
)指向GitHub链接。在项目目录中运行$ git remote -v
进行检查。如果你想在GitLab上推送相同的项目,你所要做的就是用不同的名字添加另一个
remote
。$ git remote add <different-remote-name> <gitlab-remote-link>
现在,无论何时您想要更新特定的遥控器,只需按下即可。