gerrit-ssh方式拉取代码操作
- 提前准备
- 简单说明过程
- 可能用到的命令
- 过程
- 生成公私秘钥gerrit
- 配置公钥git
- 配置user.name 和 user.email
- 获取代码测试
5.注意事项配置多个公私钥匙
1. 提前准备
-
gerrit账户【账户已经添加邮箱】
-
可执行ssh-keygen命令的工具,windows系统 推荐 git for windows
2. 简单说明过程
- 生成公私秘钥
- gerrit配置公钥
- git 配置user.name 和 user.email
- 获取代码测试
3. 可能用到的命令
# 切换到.ssh目录
cd ~/.ssh
# 查看文件 ~/.ssh/config
cat ~/.ssh/config
# 生成公私秘钥
ssh-keygen
# 配置user.name []里的东西选填
git config [--global] user.name "example"
# 配置user.email []里的东西选填
git config [--global] user.email "xxx@xx.xx"
# 从代码仓库首次获取代码
git clone ssh://example@xxxx/xxx
# 代码仓库获取更新
git pull
# 代码已提交到本地并无任何冲突,提交代码
git push
4. 过程
生成公私秘钥
-
【注意】
若已经存在一些钥匙
需要添加新钥匙
- 见注意事项【配置多个公私钥匙】
-
进入用户ssh配置目录
-
若安装ssh工具,则会有~/.ssh这个目录
-
若无则创建,并进入
-
命令
cd ~/.ssh
-
-
生成公私秘钥
-
ssh-keygen有很多参数如需其他操作,请自行百度了解
-
命令【可加其他参数】
ssh-keygen
-
默认生成公私秘钥会在用户【家目录】下的【.ssh】目录下,内容有
- 【私钥】id_rsa
- 【公钥】id_rsa.pub
-
gerrit配置公钥
- 到达ssh配置位置
- 打开并登录gerrit网站
- 点击【头像】
- 点击【settings】
- 点击左边菜单【ssh keys】
- 添加公钥
- 将上步【生成的公钥内容】复制进去
- 可以通过记事本或者其他编辑器打开公钥文件进行复制
- 点击【add new ssh key】
- 若网页上进行了刷新,并且已添加一个ssh-key,则成功
- 将上步【生成的公钥内容】复制进去
git配置user.name 和 user.email
-
目的
ssh的方式,git 在拉取和提交代码时,会进行user.name 和 user.emal的校验,因此需要配置
-
配置的方式
-
全局方式
- 只需配置一次,则在任何地方都可用
-
文件夹方式
- 只在相应的git本地文件夹中配置
-
命令配置差异
全局:
git config --global user.name "name..."
文件夹
cd 相应的文件夹
git config user.name "..."
-
-
例子全局方式
# email 用 gerrit 里面配置的 email 这里使用 example@test.com # name 可以用一个随便使用 但不可没有 这里使用 xxx git config --global user.name "xxx" git config --global user.email "example@test.com"
获取代码测试
-
在gerrit中获取有权限项目ssh地址连接
# example: git clone ssh://example@xxxx/xxx
-
在本地找一个地方执行上述命令
- 进行一次拉去代码尝试
git pull
- 进行文件操作并提交到本地仓库,知道提交到远程仓库
-
git push
若成功则OK
-
- 进行一次拉去代码尝试
5.注意事项
配置多个公私钥匙
若已存在公私钥并且需要添加公私钥
# ssh-keygen生成公私钥 # [] 中内容可不加 # -t 选择加密方式 # -C 指定邮箱 # -f 指定文件【若新生成,文件则为不存在的文件】 ssh-keygen [-t rsa] [-C "xxxx@xx.xx"] -f ~/.ssh/xxx-rsa # 之后会在~/.ssh目录下生成相关文件 cd ~/.ssh ls | grep "xxx-rsa" # 上述命令输出如下 xxx-rsa xxx-rsa.pub # 由于开始已经存在了一个公私钥 # 因此添加新的钥匙的时候 # 需要在~/.ssh目录下添加一个config文件进行配置 # config用于对所拉取仓库对应的地址的不同公钥区分 # 添加文件并编辑 vi ~/.ssh/config # 内容 # 第一个代码仓库 # host 192.168.1.2 # port 9412 # hostname xxx1.xx # file ~/.ssh/1-rsa # 第二个代码仓库 # host 192.168.1.3 # port 9412 # hostname xxx2.xx # file ~/.ssh/xxx-rsa
查看文件内容
cat ~/.ssh/config
文件内容
Host 192.168.1.2 HostName xxx1.xx Port 29413 PreferredAuthentications publickey IdentityFile ~/.ssh/1-rsa Host 192.168.1.3 HostName xxx2.xx PreferredAuthentications publickey IdentityFile ~/.ssh/xxx-rsa
OK !
网友评论