首页 > 其他分享 >Git 多账号 SSH 配置

Git 多账号 SSH 配置

时间:2023-02-16 22:01:22浏览次数:62  
标签:git 账号 仓库 配置 github Git SSH config ssh

【前言】

在企业工作环境中,我们一般会用企业的github或gitlab等账号,同时也会配置相关的ssh访问方式。

当我们想要同时操作个人github或gitlab仓库时,就无法重复使用现有的ssh公钥配置在个人账号里。

一种解决办法是不使用ssh方式,直接使用https方式访问个人仓库是可行的,但我们今天介绍一种方法可以让我们在同一台电脑中配置两个ssh访问。

【配置SSH】

生成新的RSA密钥对

我们无法在github站点不同账户配置中使用同一个RSA公钥,将已经添加过的公钥再次添加到另一个不同账户时,会提示密钥已经被使用过了,这时候我们需要新创建一个密钥对

打开cmd输入命令:ssh-keygen -t rsa -C "随意注释字符" -f C:/Users/{username}/.ssh/{keyname}一路回车,生成新的密钥对

其中两个参数,username 为个人电脑账户名

keyname 自行给新的密钥对起一个名字,例如我输入 7tiny,那么生成出来的密钥对如下:

将新公钥添加到将要访问的 github 账户

这一步没啥说的,如果不清楚如何配置,参考历史文章 --> Git SSH 认证配置 - 7tiny - 博客园 (cnblogs.com)

添加本地配置文件

在 .ssh 目录添加配置文件,文件名 config 注意没有文件扩展名

文件内容也非常简单,按如下配置即可

Host 7tiny
    HostName github.com
    User git
    IdentityFile ~/.ssh/7tiny

文件说明

Host:标识,随意取一个即可

HostName:仓库站点域名,我使用的是 github,因此域名填 github.com

User:默认git即可

IdentityFile:填刚才生成时的密钥对地址

拉取新账户的仓库源码

我们通过ssh方式直接克隆新仓库的源码

克隆时,可以指定采用新的ssh密钥配置此仓库,将 [email protected] 替换为前面配置的 Host 名称(本文用的是7tiny)

例如:git clone 7tiny:dotnet/corefx.git

当然,不这么指定也是可以成功 clone 的,clone后,打开本地仓库目录下的 .git 文件夹

修改 config 配置文件里的 url,将 github.com 换为 Host 名称(本文用的是7tiny),和上述clone时配置效果是一样的

【说一点题外话】

经过上述配置,git的正常操作都已经ok了,但是还有点小细节问题。

我们提交代码采用的账号和邮箱用的都是 global 配置里的,这样在提交代码时,个人仓库里的提交记录就会被识别为公司账号的提交,这样首页是不会显示小绿点的,因为不算“自己”的贡献

这个处理办法就是将当前代码仓库的姓名和邮箱换成个人账号的姓名和邮箱

方法一、通过命令行配置

首先进入当前仓库地址打开 git 命令行,通过 git config 命令修改本地姓名邮箱

git config user.name "xxx name"
git config user.email "[email protected]"

方法二、打开 config 配置文件直接修改

打开本地代码仓库目录下的 .git 文件夹下的 config 配置文件

添加 user 节点

[user]
	name = sevenTiny
	email = [email protected]

保存即可

用任意一种方式配置好后,可以通过git config --local --list 查看当前仓库配置

通过 git config --global --list 查看全局配置,以确保全局配置没有被改错(local 和 global 不使用同一个姓名邮箱情况下)

后续提交的代码将会用此姓名和邮箱操作仓库,当然,小绿点也是“你”的了

标签:git,账号,仓库,配置,github,Git,SSH,config,ssh
From: https://www.cnblogs.com/7tiny/p/17128459.html

相关文章

  • Git笔记1
    记录一些语法,希望自己看到的时候可以起到复习的作用echo写入echo"Thisisatext">>Filenamebranch分支展示$gitbranch*devmain星号代表当前分支cat......
  • ssh-copy-id三步实现SSH无密码登录和ssh常用命令
    原文地址https://blog.csdn.net/liu_qingbo/article/details/78383892ssh-copy-id-p22-i~/.ssh/id_rsa.pubroot@远程ipssh-p'22''root@远程ip'产生如下代码,......
  • Git使用记录
    首先在电脑上安装Git,安装成功后,可以开始配置了!一、入门使用1、选择文件路径,右键,gitbashhere 输入gitconfig-l查看配置      2、设置用户名与邮箱 ......
  • 配置ssh登录远程机子
    本地准备ssh公钥查看本地是否有sshls-al~/.ssh本地生成sshssh-keygen-trsa-C自己的Email地址查看ssh公钥cat.ssh/id_rsa.pub远程安装ssh服务查看......
  • windows下通过docker安装gitlab
    1.下载dockerhttps://docs.docker.com/desktop/install/windows-install/按照步骤往下走2.打开cmd运行dockersearchgitlab/gitlab-cedockerpullgitlab/gitlab-ce......
  • Git LFS (Large File Storage) 记录
    描述最近开发,由于使用到三方二进制库(谷歌浏览器内核),且超过了100M,github上传受限制,所以使用官方建议的LFS方式进行管理。GitLFSGitLFS官网介绍1.安装通过Homebr......
  • Jenkins的PublishOverSSH插件的Lable用法
    插件准备ParameterizedTriggerPublishOverSSH项目配置参数插件ParameterizedTrigger的配置PublishOverSSH配置常规配置如下图,总共配置了两个服务器,Labl......
  • Ubuntu 添加ssh key
    遇到问题gitclone报错,显示没有权限。创建sshkey运行ssh-keygen-trsa-b4096-C"邮箱"回车三次,sshkey放在~/.ssh的默认文件夹下,不设密码。复制sshkey内容cat......
  • gitee分支代码推送
    gitee分支代码推送 把本地的代码二次提交到gitee,并创建分支操作:cdYourLocalRepoPath##cd到本地仓库路径下gitinit##仓库初始化gitcheckout-b分支名字##创建......
  • SSH代理连接服务器
    一、nc命令安装dnfinstallnc-y二、通过sock5代理连接服务器ssh-oProxyCommand="nc-X5-x10.10.10.30:1080%h%p"[email protected]三、通过https代......