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. A1080. Graduate Admission

    It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applicat ...

  2. Shell变量的取用、删除、取代与替换

    <<鸟哥的私房菜>> 注意: 通配符适用的地方:shell命令行或者shell脚本中 正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则. 在文本过滤工具里,都是 ...

  3. nginx 耗时原因定位总结

    这几天在优化服务器的响应时间,在根据 nginx 的 accesslog 中 $request_time 进行程序优化时,发现有个接口,直接返回数据,平均的 $request_time 也比较大.原来 ...

  4. JDK JRE JVM的关系

    JVM:Java Virtual Machine的缩写,即Java虚拟机 JRE:Java Runtime Environment的缩写,即Java运行环境 JDK:Java Development ...

  5. 酷炫的SVG 动态图标

                                                      在  loading.io 上能看到好多效果惊艳的loading图标.它们都是用svg写成的,寥寥几 ...

  6. CodeForces - 896A Nephren gives a riddle

    A. Nephren gives a riddle time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  7. Spring RedisTemplate操作-序列化性能测试(12)

    @Autowired @Qualifier("redisTemplate") private RedisTemplate<String, String> stringr ...

  8. ps知识集锦

    1.工具箱   移动工具 [V]矩形.椭圆选框工具 [M]套索.多边形套索.磁性套索 [L]快速选择工具.魔棒工具 [W] 裁剪.透视裁剪.切片.切片选择工具 [C]吸管.颜色取样器.标尺.注释.12 ...

  9. C# Winform中慎用Application.DoEvents

    private void Add() { ; i < ; i++) { Button button = new Button(); button.Width = ; button.Height ...

  10. 【转】Robot Framework作者建议如何选择自动化测试框架

    原文:http://www.infoq.com/cn/news/2012/06/robot-author-suggest-autotest 软件自动化测试,作为手工测试的替代,越来越受到关注.Pekk ...