git使用记录
近期学习和工作中,经常用到git并且同步到GitHub、Gitee,实现本地和远程服务器的同步,在此学习记录。
一、Git SSH密钥生成并添加到GitHub
生成SSH并且添加到GitHub,参考Git SSH 密钥生成及添加到 GitHub、Gite。
1.1 生成 SSH 密钥
首先,需要在本地计算机上生成 SSH 密钥,以下是具体步骤:
- 使用 Git Bash 或命令行打开终端窗口;
- 输入以下命令:
ssh-keygen -t rsa -f id_rsa -b 4096 -C "your_email@example.com"
。其中-t
参数指定密钥算法,-f
是指定密钥文件名,-b
参数指定密钥长度,-C
参数则为注释,用于描述此公钥; - 按照提示键入您想要保存密钥的文件名和路径,或使用默认设置;
- 系统将生成一个随机字符串作为密钥密码,此处可以选用默认密码以便于不需要输入密码进行 SSH 登录。
1.2 添加到 GitHub
将生成的公钥添加到 GitHub 中,以便与该网站进行交互,以下是具体步骤:
- 登录到 GitHub 账户,并转到 “Settings”(设置)中的 “SSH and GPG keys”(SSH 和 GPG 密钥)页面;
- 点击 “New SSH key”(新建 SSH 密钥),填写标题和密钥的内容;
- 打开公钥文件 (一般以
.pub
结尾的同名文件) ,将其内容复制到 GitHub 的 “Key” 字段中; - 点击 “Add SSH key” (添加 SSH 密钥),完成密钥添加。
1.3 类似地添加到Gitee
类似 Github,将生成的公钥添加到 Gitee 中以进行交互,以下是具体步骤:
- 登录到 Gitee 账户,并转到 “设置” 中的 “SSH 公钥” 页面;
- 点击 “添加 SSH 公钥”,在弹出的窗口中输入名称和密钥内容;
- 打开公钥文件 (一般以
.pub
结尾的同名文件) ,将其内容复制到 Gitee 的 “Key” 字段中; - 最后,点击 “确定”,完成密钥添加。
二、本地同时配置 GitHub、Gitlab、Gitee 的 SSH-Key
实际应用场景中,需要同时同步代码到GitHub、Gitee和Gitlab的情况,参考本地同时配置 GitHub、Gitlab、Gitee 的 SSH-Key。
2.1 生成各平台的密钥
2.1.1 配置 gitlab 的 ssh-key
使用ssh-keygen
,不用输入password从而实现免密登录。
# 进入.ssh路径, windows路径为~/.ssh
ssh-keygen -t rsa -C "你的gitlab邮箱" -f id_rsa_gitlab -C "GitlabAccount"
2.1.2 配置 githb 的 ssh-key
# 进入.ssh路径, windows路径为~/.ssh
ssh-keygen -t rsa -C "你的github邮箱" -f id_rsa_github -C "GithubAccount"
2.1.3 配置 gitee 的 ssh-key
# 进入.ssh路径, windows路径为~/.ssh
ssh-keygen -t rsa -C "你的gitee邮箱" -f id_rsa_gitee -C "GiteeAccount"
2.1.4 将每个密钥.pub
文件打开,复制其内容并粘贴到对应 github、gitlab、gitee 官网里创建的 ssh-key。
2.2 将多个平台密钥共同写入配置
这一步才能使每个密钥在本地环境生效
#命令行执行,创建config文件,并编辑config文件
touch ~/.ssh/config
~/.ssh/config
文件内容如下:
# 可以看到.ssh文件下有个config文件,文本方式打开,输入以下内容后保存即可:
Host github.com
HostName github.com
User github邮箱
IdentityFile ~/.ssh/id_rsa_github
Host gitlab.xxx.cn #host后边为单位gitlab域名
HostName gitlab.xxx.cn #同上为公司gitlab域名
User gitlab邮箱
IdentityFile ~/.ssh/id_rsa_gitlab
Host gitee.com
HostName gitee.com
User gitee邮箱
IdentityFile ~/.ssh/id_rsa_gitee
PreferredAuthentications publickey
2.3 验证
#命令行输入测试连接
ssh -T git@github.com
ssh -t git@gitlab.xxx.cn
ssh -t git@gitee.com
2.4 本地相关配置
# 本地配置
git config --local user.name '你的gitlab账号名'
git config --local user.email '公司账号邮箱'
# 全局配置
git config --global user.name '你的github账号名'
git config --global user.email '你的github账号邮箱'
全部是参考现有大佬的技术文章,用以记录学习。