• Gitlab的SSH配置(linux和windows双版本)


    1. 步骤
    1.首先现在电脑端安装好git,windows端请安装Git for Windows,Linux端请自行网上查询(Ubuntu: sudo apt-get install git)
     
    2.先核对下电脑上是已经有ssh配置
    #Git Bash on Windows / GNU/Linux / macOS / PowerShell:
    cat ~/.ssh/id_rsa.pub
     
    3.若没有,则需要生成ssh的公钥私钥
    Git Bash on Windows / GNU/Linux / macOS:
    ##若要自定义id_rsa文件请先切换目录到 ~/.ssh/下,如果不切换,当保存的文件名是自定义时,会生成在当前的目录下。
    ##经测试,邮箱不一定是登录gitlab的邮箱(我github也是用mygitlab@gitlab.com生成的id_rsa_pub作为公钥)
    ssh-keygen -t rsa -C your.email@example.com -b 4096
    #提示是否使用新的文件名,如果不输入新的文件名,则生成id_rsa文件。
    ##如果默认不配置config,就得默认为id_rsa文件名
    Enter file in which to save the key (~/.ssh/id_rsa):
    #请输入确认密码,后面还会用到(至少4位数),如果缺省直接按回车
    ##此密码是验证id_rsa的密码,每次代码commit时得输入
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
     
    4. 复制公钥到GitLab中的SSH Keys中
    Windows Command Line:
    type %userprofile%.sshid_rsa.pub | clip 
    Git Bash on Windows / Windows PowerShell:
    cat ~/.ssh/id_rsa.pub | clip 
    如果提示clip没安装,则只要‘ |’ 的前半部分命令,然后复制出文本,或者直接到指定位置用文本打开。
     
    5.测试SSH是否已配置好
    ssh -T git@gitlab.com
    #如果已经配置好,则会提示
    Welcome to GitLab, Your GitLab NickName!
     
    6.配置config文件(可选,当第5步骤失败)
    如果id_rsa是自己定义为id_rsa_custom的,才需要配置config,具体见参考[1]
    在~/.ssh/下面新建一个文件
    cd ~/.ssh/
    touch config
    

    config内容如下: 

    # GitLab.com server
    Host gitlab
    Hostname gitlab.com
    User git
    IdentityFile ~/.ssh/id_rsa_custom
    
     
    ssh -T git@gitlab
    #如果已经配置好,则会提示
    Welcome to GitLab, Your GitLab NickName!
    

      

    7.Clone项目到本地
    如果gitlab上已经有Repo(项目),则直接clone一份代码到本地
    #如果用SSH clone失败了,请尝试用HTTPS clone
    ##目前只在company的服务器ubuntu系统失效了
    git clone git@gitlab.com:username/yourProject.git #(SSH方式)
    git clone https://gitlab.com/username/yourProject.git #(HTTPS方式)
    #此时会出现登录gitlab的账号和密码的输入,然后显示进度条
    Receiving objects:  86% (797/918), 2.48 MiB | 5.00 KiB/s
    

    如果gitlab还没有Repo,可以新建一个,再clone空项目下来。

    按理说github设置SSH原理是完全相同的。

    p.s.

    如果git还没有配置过用户名和邮箱需要设置一下

    ##用户名和邮箱名和账号名没有必然相关性,可以不一样
    ##我用github的账号设置了user.email,然而gitlab照样可以push数据
    ##首次clone数据时有要求输入该网站的账号和密码,可以理解git的配置是git的账号和昵称
    git config --global user.name "Your Name" 
    git config --global user.email your_email@gmail.com 

    2. 可能出现的情况

    在windows系统下用git bash,在第5步骤,一直提示超时连接,不管是ssh还是https协议。(以上两项暂时只出现在company的PC)
  • 相关阅读:
    combotree的总结(这个好)
    Extjs下拉树代码测试总结
    ExtJs 3 自定义combotree
    项目中EXTjs中运用到的下拉树
    EXTJS下拉树ComboBoxTree参数提交及回显方法
    Extjs window组件 拖动统制
    extjs grid数据改变后刷新的实现
    获取 ext grid 选中行 对象
    ext:grid分页,列宽度自动填满grid宽度
    pringBoot2.0启用https协议
  • 原文地址:https://www.cnblogs.com/fanbi/p/7772812.html
Copyright © 2020-2023  润新知