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%\.ssh\id_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)

Gitlab的SSH配置(linux和windows双版本)的更多相关文章

  1. Java JDK 8 安装和环境变量的配置(Linux and Windows)

    Java JDK 8 的安装以及环境变量的配置(Linux and Windows) JDK(Java Development Kit)包含了Java语言的编译器,能够在这里下载: http://ww ...

  2. linux和Windows双系统让 Windows 把硬件时间当作 UTC

    linux和Windows双系统让 Windows 把硬件时间当作 UTC Windows设置如下:开 始->运行->CMD,打开命令行程序(Vista则要以管理员方式打开命令行程序方可有 ...

  3. tomcat环境配置 Linux 与 Windows

    Windows:例如tomcat安装在 E:\tomcat 需要在环境变量配置:CATALINA_HOME=E:\tomcat CATALINA_BASE= E:\tomcat Linux:例如tom ...

  4. 为github帐号添加SSH keys(Linux和Windows)

    文章转自:https://blog.cofface.com/archives/406.html/2 一.Linux增加ssh keys方法: 使用git clone命令从github上同步github ...

  5. linux和windows双系统导致的时间日

    我的博客:www.while0.com系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,而我们当地是用的北京时间要慢8小时.linux采用的UTC时间 ...

  6. linux和windows双系统时间错误解决方法

    转自http://www.2cto.com/os/201204/126212.html windows时间会慢8小时,原因: 两个概念: UTC即Universal Time Coordinated, ...

  7. Vagrant安装完lnmp后,配置linux和windows共享文件并配置虚拟主机访问项目

    虚拟机目录下的Vagrantfile文件是vagrant的配置文件,如果想把虚拟机当作一台服务器,可以通过ip访问,需要修改配置文件进行配置. (1)第一步:打开虚拟机目录下的Vagrantfile文 ...

  8. linux和windows双系统设置默认启动系统

    1.以root身份登录linux系统: 2.启动终端,输入命令:vi /boot/grub/grub.conf,文件内容如下: #boot=/dev/sda default=0 (默认启动哪个系统的设 ...

  9. Linux和Windows双系统安装要点

    这里主要说下CentOS和Windows7的双系统安装遇到的一些问题 一.磁盘分区 这个不得不说下在Windows下坑爹的设定了,如果是用默认的磁盘划分,系统会自己先划出一个100M左右的区,关键还是 ...

随机推荐

  1. Eclipse导入模板格式Xml配置文件

    Eclipse一般常用的可以导入两处 *.xml 格式的模板,一个是常用的注释格式模板,另一个是代码格式化时用的模板,导入方法如下: 假设: 1.xml 是代码注释格式模板     2.xml 是代码 ...

  2. 2018.7中石油个人赛第4场(D-Transit Tree Path)-最短路算法

    6690: Transit Tree Path 时间限制: 1 Sec  内存限制: 128 MB提交: 472  解决: 132[提交] [状态] [讨论版] [命题人:admin] 题目描述 Yo ...

  3. go 基础(二)

    strings和strconv使用 1.strings使用 strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头. str ...

  4. grafana配置

    grafana配置 官网介绍:http://docs.grafana.org/installation/configuration/ 以deb或者rpm安装的,则默认的配置文件是/etc/grafan ...

  5. 数据分析工具urule

    Python统计学书籍 https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-13911786811.22.6431353b4F5iw1& ...

  6. 使用cpanm安装perl相关模块

    cpanm是安装Perl模块的最方便的方法.自动下载安装依赖包.使用CPAN shell或下载源码包安装模块,遇到大量依赖关系,非常头痛.下面就是一例: 1. 安装cpanmcpanm其实是一个可执行 ...

  7. Linux 内核 hlist 详解

    在Linux内核中,hlist(哈希链表)使用非常广泛.本文将对其数据结构和核心函数进行分析. 和hlist相关的数据结构有两个:hlist_head 和 hlist_node //hash桶的头结点 ...

  8. Nginx 学习笔记(五)nginx-vod-module 模块

    nginx-vod-module 一.编译 ./configure \ --user=www \ --group=www \ --prefix=/usr/local/openresty \ --wit ...

  9. maven打包子模块中的class文件

    通常在项目中都会使用maven进行多模块管理,默认被依赖的模块都会以jar包形式被引用.然而在J2EE项目中,当使用了Spring的自动扫描配置时,jar包形式的依赖class将不能被自动装配:< ...

  10. datagrid点删除,弹出一个确认和取消的消息框

    有个简单的方法:在datagrid的删除按扭datagrid的属性生成器->列->添加按扭列->删除在数据字段中加上:<div id="de" onclic ...