美文网首页学习学习
gerrit-ssh方式拉取代码操作

gerrit-ssh方式拉取代码操作

作者: 大文茫 | 来源:发表于2018-09-25 14:14 被阅读0次

    gerrit-ssh方式拉取代码操作

    1. 提前准备
    2. 简单说明过程
    3. 可能用到的命令
    4. 过程
    • 生成公私秘钥gerrit
    • 配置公钥git
    • 配置user.name 和 user.email
    • 获取代码测试

    5.注意事项配置多个公私钥匙

    1. 提前准备

    2. 简单说明过程

    1. 生成公私秘钥
    2. gerrit配置公钥
    3. git 配置user.name 和 user.email
    4. 获取代码测试

    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. 过程

    生成公私秘钥

    • 【注意】

      若已经存在一些钥匙

      需要添加新钥匙

      • 见注意事项【配置多个公私钥匙】
    1. 进入用户ssh配置目录

      • 若安装ssh工具,则会有~/.ssh这个目录

      • 若无则创建,并进入

      • 命令

        cd ~/.ssh

    2. 生成公私秘钥

      • ssh-keygen有很多参数如需其他操作,请自行百度了解

      • 命令【可加其他参数】

        ssh-keygen

      • 默认生成公私秘钥会在用户【家目录】下的【.ssh】目录下,内容有

        • 【私钥】id_rsa
        • 【公钥】id_rsa.pub

    gerrit配置公钥

    1. 到达ssh配置位置
      • 打开并登录gerrit网站
      • 点击【头像】
      • 点击【settings】
      • 点击左边菜单【ssh keys】
    2. 添加公钥
      • 将上步【生成的公钥内容】复制进去
        • 可以通过记事本或者其他编辑器打开公钥文件进行复制
      • 点击【add new ssh key】
      • 若网页上进行了刷新,并且已添加一个ssh-key,则成功

    git配置user.name 和 user.email

    1. 目的

      ssh的方式,git 在拉取和提交代码时,会进行user.name 和 user.emal的校验,因此需要配置

    2. 配置的方式

      • 全局方式

        • 只需配置一次,则在任何地方都可用
      • 文件夹方式

        • 只在相应的git本地文件夹中配置
      • 命令配置差异

        全局:git config --global user.name "name..."

        文件夹

        1. cd 相应的文件夹
        2. git config user.name "..."
    3. 例子全局方式

      # email 用 gerrit 里面配置的 email 这里使用 example@test.com
      # name 可以用一个随便使用 但不可没有 这里使用 xxx
      git config --global user.name "xxx"
      git config --global user.email "example@test.com"
      

    获取代码测试

    1. 在gerrit中获取有权限项目ssh地址连接

      # example:
      git clone ssh://example@xxxx/xxx
      
    2. 在本地找一个地方执行上述命令

      1. 进行一次拉去代码尝试
        • git pull
      2. 进行文件操作并提交到本地仓库,知道提交到远程仓库
        • 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 !

    相关文章

      网友评论

        本文标题:gerrit-ssh方式拉取代码操作

        本文链接:https://www.haomeiwen.com/subject/ekqloftx.html