【经验】Git仓库多账号管理与部署|SSH密钥设置
生成 SSH 密钥
先打开一个git窗口,生成ssh密钥。
如果打开的不是git窗口,而是cmd窗口,则需要先切换到
C:\Users\用户名\.ssh目录下。
下面这条指令的your_email和youremail.com可以随便写。
ssh-keygen -t rsa -C "your_email@youremail.com"
指令运行的过程中会要求填写生成的密钥文件的名称,任意填写即可,比如填写gitee_rsa,如下图所示。

查看生成的密钥
然后,查看刚刚生成的密钥。
每台电脑都有一个正在使用电脑的用户。比如我的电脑的用户名是12524。
不出意外的话,在系统盘的用户目录下有.ssh文件。
C:\Users\12524\.ssh

会看到id_rsa/id_rsa.pub这两个刚才生成的密钥文件。其中id_rsa.pub文件中的内容就是SSH公钥,用记事本打开它。

填写密钥
点击码云或Github的设置页面,转到SSH密钥的配置。
下面以码云为例。

随便起一个标题,然后把id_rsa.pub的内容粘贴到公钥中去。再点击确定。
配置本地 config 文件
配置格式:
Host two.gitee.com
HostName gitee.com
PreferredAuthentications publickey
User Two
IdentityFile ~/.ssh/id_rsa
Host后面填写你用来链接仓库时的名称,HostName后面写网址,PreferredAuthentications publickey照抄,User后面任意填写,意思是用户的名字,IdentityFile后面填写刚刚生成的密钥的文件路径。
(如果看不懂,没关系,先看下一节——如何使用这些配置去连接和部署仓库)
我自己的配置文件内容如下。

测试配置是否正确
首先,你可以测试一下配置是否正确,
假设你的Host是two.gitee.com,那么:
ssh -T git@two.gitee.com
正常情况下,会显示:

添加config(全局或本仓库)
如果以前已经配置过了,只是为了配置多个账号的git,这步也需要稍微注意。
因为这一步是用来告诉Git,作者的身份。对于多人共同使用的电脑,如果每个仓库有不同的作者,那么就应该针对仓库设置不同的config。
如果是第一次用,那么这步是必需的,如果不设置,则Git将会提示:
Author identity unknown
*** Please tell me who you are.。
当然,这个设置个假的,也没事。
全局config示例如下:
git config --global user.name "shandianchengzi"
git config --global user.email "xxxx@xxx.com"
只在本仓库添加时,只需去掉--global即可。
连接远程仓库
然后就可以git remote add连接到远程仓库了。
可以先用
git remote -v检查一下当前目录下有没有链接别的仓库,如果有链接就先用git remote remove移除。
注意,用git remote add连接远程库的时候,也是用的Host中填的东西。
git remote add origin git@two.gitee.com:yourName/repositoryname.git
其中git@two.gitee.com:yourName/repositoryname.git是克隆仓库的时候对应的那个路径,注意将gitee.com修改为自己填写的Host即可。

然后就能愉快地git push了。
有多个账号的时候,只要保证Host互不相同即可。
【经验】Git仓库多账号管理与部署|SSH密钥设置的更多相关文章
- Git管理多个SSH密钥,Git多帐号配置
版权声明:转载须标明本文转自严振杰的博客 https://blog.csdn.net/yanzhenjie1003/article/details/69487932版权声明:转载必须注明本文转自严振杰 ...
- SourceTree Git可视化管理工具通过 ssh 密钥登录
整个流程分三步:① 生成SSH密钥:② Github/Gitee/Coding 代码托管平台绑定公钥:③ SourceTree 拉取代码 1.生成 SSH 密钥 这里直接使用 SourceTree 来 ...
- CentOS搭建Git服务器及权限管理
声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...
- 本地创建 Git 仓库并关联 Phabricator
前提条件: 1.熟悉 Git 操作. 2.在搭建好的 Phabricator 上已注册账号,并开通相关权限. 方法一: 1.在本地创建Git仓库. 2.ssh-keygen -t rsa生产公钥私钥, ...
- 如何配置 SSH 密钥连接 Git 仓库
SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:是建立在应用层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其 ...
- 本地git仓库常用操作
SSH配置: 本机创建SSH key $ ssh-keygen -t rsa -C "youremail@example.com" 将SSHkey添加到git仓库:id_rsa.p ...
- GIT:如何管理本机的多个ssh密钥(多个远程仓库账号)
最近在学习git,首先推荐一个个人认为很不错的git教程,学习后,从git新手变成了git入门了,仍需继续努力. 廖老师的git学习教程(其他git基础知识点,本篇博客就不做介绍了,自己看教程学习吧, ...
- 多人合作项目如何去管理git仓库
前记:在git之前依稀记得有SVN去管理代码仓库,现在多用git去管理我们的代码:现在一般的项目大多数是多人同时开发,这样就会存在一个问题就是如何去协调开发:这也是lz当前使用git开发管理的些许经验 ...
- windows下添加多个git仓库账号
当使用git方式下载时,如果没有配置过ssh key,会提示错误(git clone支持https和git(即ssh)两种方式下载源码) 当需要在机器上使用不同的git账户,这就需要知道如何在机器上添 ...
- 本机添加多个git仓库账号
我们可能会需要在一台电脑上以不同的github账户去使用git,这时就需要去解决如何管理本机上的多个ssh key的问题了. 生成新ssh key 如果我们电脑上已经存在了一个ssh key,那么我们 ...
随机推荐
- 管理虚拟机(virtual-manager)
- [BZOJ3569] DZY Loves Chinese II 题解
考虑不联通的情况.图不好做,就造一棵生成树出来,由于是无向图,所以只有树边和返祖边. 发现在一条树边断开后,生成树会分成两个连通块,由覆盖这条树边的返祖边链接,只有这些返祖边也全部断开,原图才会不联通 ...
- 库卡KUKA机器人KRC4伺服马达维修指导分析
通常情况下,库卡机器人伺服电机是实现机器人的关键组件,它提供了动力.位置和速度控制力和扭矩控制以及闭环控制等功能,使得库卡机器人能够在各种应用场景中发挥机器本身的性能. 一. 如果KUKA库卡机器人K ...
- CentOS7脚本检测SpringBoot项目JAR包变化后自动重启
#!/bin/bash # 文件目录 fileDir=/usr/local/project/back logDir=/usr/local/project/logs # 设置需要检测的文件路径 file ...
- win32绘图:绘制直线 矩形 圆形 曲线等
查看代码 #include <Windows.h> //画点 void PaintSetPixel(HDC hdc) { for (short i = 0; i < 20; i++) ...
- [第二章]ABAQUS CM插件中文手册
ABAQUS Composite Modeler User Manual(zh-CN) Dassault Systèmes, 2018 注: 源文档的交叉引用链接,本文无效 有些语句英文表达更易理解, ...
- 【记录】C++STL容器/特有类 使用积累
STL容器共有成员函数 size() max_size() empty() begin() end() clear() [链接]csdn_STL中所有容器共有成员函数 双端队列deque 1.创建与初 ...
- 这几天用ng5做了一个俄罗斯方块
为什么要做这个东西呢? 嗯 为了证明自己会ng吧,最主要的是这几天的工作全是静态页,实在无聊枯燥的很.当然了,肯定还有其他妙不可言的原因,这里不想说出来. 我也忘记我是什么时候有想到用ng做俄罗斯方块 ...
- k8s dial tcp 127.0.0.1:6443: connect: connection refused排查流程及解决思路
前言 k8s 集群中,使用 kubelet 报错,如下: The connection to the server 127.0.0.1:6443 was refused - did you speci ...
- 【WPF开发】HandyControl Growl控件Error通知不自动消失的问题
需求 HandyControl Growl在Error类型的通知不自动消失,此时需要他跟其他的统一. 找寻原因 那么翻翻代码看看为啥不消失呗 1.这是决定关闭通知的计时器 2.这是通过_staysOp ...