首页 > 其他分享 >Git:单台电脑同时配置多个git账号

Git:单台电脑同时配置多个git账号

时间:2022-09-22 14:37:19浏览次数:70  
标签:git config gitlab 单台 github Git ssh com

问题说明

现在云端仓库很多,有开源中国的 gitee.com 、微软的 github.com 、还有 gitlab.com 和 bitbucket.org 等等,当我们想同一台电脑链接多个云端仓库时,就需要设置不同的用户、邮箱生成不同的密钥进行链接。

解决方案

1. 下载安装Git

我的电脑是Window10 系统,所以下载的Windows版

git官网下载git,链接:https://git-scm.com/

下载完之后,鼠标右键会看到Git Bash

2. 生成公私钥对

假设我有github.com 、gitlab.com 和 bitbucket.org三个云端的账号,各自的注册邮箱和用户名不同。

建议:linux 或 mac 用户推荐在 ~/.ssh 路径下运行命令行,Windows用户推荐在“ C:\Users\用户名\.ssh ”目录下运行命令行

## 说明: 
## -t rsa 表示加密方式  
## -C 表示注册不同云端仓库时所用的邮箱 
## -f 表示自定义生成秘钥的名称
#--------------------------------------
# 生成 github.com 公私钥对
ssh-keygen -t rsa -C "[email protected]" -f github
# 生成 gitlab.com 公私钥对
ssh-keygen -t rsa -C "[email protected]" -f gitlab
# 生成 bitbucket.org 公私钥对
ssh-keygen -t rsa -C "[email protected]" -f bitbucket

生成的文件就在当前运行命令的文件夹内

3. 登录云端仓库配置公钥

这里拿github举例。

登录github后,点击右上角头像,选择Settings

弹出页面,选择SSH and GPG keys

之后点击 New SSH key 新建SSH链接钥匙

输入标题,将生成的github的公钥(github.pub)文件内的内容拷贝至 Key,点击Add SSH key

4. 创建config文件

在刚刚生成公私钥对的文件夹内,创建config文件

内容如下

# one([email protected])
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github
User one
    
# two([email protected])
Host gitlab
HostName gitlab.java.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
User two

# three(three.gmail.com)
Host bitbucket
HostName bitbucket.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/bitbucket
User three

# 这是gitee的链接方式
#Host gitee
#HostName gitee.com
#PreferredAuthentications publickey
#IdentityFile ~/.ssh/gitee
#User four

配置详解 

# 这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost
Host
# 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
HostName
# 服务器open-ssh端口(默认:22,默认时一般不写此行)
Port
# 配置登录时用什么权限认证
# 可设为(publickey, password publickey, keyboard-interactive 等)
PreferredAuthentications
# 证书文件路径(如~/.ssh/id_rsa_*)
IdentityFile
# 云端仓库登录用户名
User

5. 远程测试链接

# 测试链接是否成功, 这里的github、gitlab是config文件中设置的Host
ssh -T git@github
ssh -T git@gitlab

运行命令后如果出现“Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.”,其中“xxxx”为你配置的 User 名字,这时恭喜你,配置成功了~

6. 下载github项目

# 单个云端仓库时, 运行 git clone 你的项目地址
git clone [email protected]: 我的用户名/Radish-Tools.git

# 多个云端仓库时, 需要修改你的项目地址的@对象
# 这里的github是config文件中的Host
git clone git@github: 我的用户名/Radish-Tools.git
# 这里的gitlab是config文件中的Host
git clone git@gitlab: 我的用户名/Radish-Tools.git

7. 配置局部用户名与邮箱

取消全局用户名与邮箱设置

# 取消全局 用户名/邮箱 配置
git config --global --unset user.name
git config --global --unset user.email

进入每个项目的文件夹,运行Git Bash,设置局部用户名与邮箱

# 单独为每个repo设置 用户名/邮箱
git config user.name "one_name" ; git config user.email "[email protected]"
git config user.name "two_name" ; git config user.email "[email protected]"

 上述都成功后,会发现GitHub中的SSH钥匙会由灰变绿

 在这里插入图片描述

 

文章整合至:https://blog.csdn.net/qq_33254766/article/details/122941664http://www.caotama.com/1827233.htmlhttp://t.zoukankan.com/dennyzhangdd-p-10607472.html

标签:git,config,gitlab,单台,github,Git,ssh,com
From: https://www.cnblogs.com/nhdlb/p/16718642.html

相关文章

  • Jenkins 踩坑 (四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合
    一、前提关于使用Jenkins创建job完成自动化测试,核心在于项目的拉取和执行,至于job的创建大同小异,需要了解的可以参考文章:[Jenkins之job创建、参数化与定时构建以及......
  • gitlab删除远程分支后,本地还显示已删除的分支
    gitlab删除分支后,本地查看远程分支仍显示已删除的分支,解决办法1、查看远程分支gitbranch-r使用gitbranch-r命令查看远程分支,发现远程分支已经删除,但本地还显示2、......
  • git踩坑指南
    git踩坑指南You'vesuccessfullyauthenticated,butGitHubdoesnotprovideshellaccess.如果你是用仓库的http地址进行链接的,可以不管它!只要显示了Hi,bisa!这种话就说......
  • CI持续集成系统环境---部署Gitlab环境完整记录
    ​最近在看CI/CD集成的相关部分,发现几篇好文,转载分享一波。 来源网络:[原创]CI持续集成系统环境---部署Gitlab环境完整记录-散尽浮华-博客园Gitlab是一个代码托管......
  • git mv 命令详细操作流程
    gitmv命令移动改名操作如果在工作区进行移动,git会发现一个文件被删除了,另一个文件被创建了。测试:可见,还需要再执行:gitrm,gitadd完成最终的改名操作。直接通过......
  • Github发布了Electron 1.0版本
    Github称,Electronapp就像一个微型的网页浏览器一样,具有与本地文件系统交互的功能,网页浏览器已经打包在了app中。这样,应用就可以一次编写,在各个操作系统上运行。Electro......
  • git使用教程
    1git基础1.1初始化git仓库git仓库也就是在git管理下的代码的版本库和一些git配置存放的地方,比如.git文件夹初始化git仓库有两种方式:1、将尚未进行版本控制的本地目录......
  • Git将本地仓库上传到github
    这里采用简单的描述,提供两种方式:一、连接本地文件夹和远程仓库1.使用pull——拉取github项目文件(1)进入到自己要上传的文件夹内部,然后gitbashhere(2)输入命令gitini......
  • 记录几次git相关操作
    1.无法忽略部分文件gitrm-r--cached.解释:-r递归删除所有文件的索引,删除到add.之前的状态这时候再add和commit就忽略到那部分文件了2.无法pull因为本地pyc二进制......
  • 如何使用 Git 管理配置文件
    现在很多软件的配置都可以在线同步或者支持导入导出,可以很方便的在不同设备上使用。但电脑上还有很多本地配置文件没有办法同步,夸多个设备使用时很难保持一致,换电脑也很麻......