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. 读取2007以上版本的excel(xslx格式)

    maven项目依赖jar包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi ...

  2. 淘宝助理导出的csv文件使用的是什么编码,您猜?

    今天下午用Java读取从淘宝助理 V4.3 Beta1导出的csv文件,出现中文乱码情况. 一看就是文件编码引起的,不清楚淘宝助理导出的csv文件使用了什么编码,到百度搜索了一下,看到一些相关文章,但 ...

  3. MATLAB:增加噪声,同时多次叠加噪声图和原图以及求平均图像(imnoise,imadd函数)

    本次涉及了对原图像增加高斯噪声.多次叠加原图和高斯噪声图以及叠加后的平均图像. close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; R ...

  4. CentOS 6.5 升级内核

    Docker需要3.10以上内核支持,Centos6.5 默认内核为2.6.所以手动编译安装3.10内核. 查看当前系统内核版本 [root@gu ~]# uname -r2.6.32-431.el6 ...

  5. java performance tools / NetBeans Profiler / Sun BTrace / Eclipse MAT / IBM ISA

    s Oracel Performace Analyzer NetBeans Profiler Eclipse MAT Sun BTrace IBM ISA end

  6. BootStrap行内编辑

    Bootstrap行内编辑,这里下载了一个X-Editable的插件,在Nuget里面就可以搜到. 引用的js和css大致如下: @*.Jquery组件引用*@ <script src=&quo ...

  7. Linux_安装

    总结:    分区-->格式化-->起一个设备文件名(逻辑分区一定从5开始)-->指定挂载点(必须是空的目录名称作为盘幅)

  8. currentColor

    http://www.zhangxinxu.com/wordpress/2014/10/currentcolor-css3-powerful-css-keyword/

  9. 20155331 2016-2017-2 《Java程序设计》第七周学习总结

    20155331 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 一.认识Lambda语法 1.Lambda语法概览 Arrays的sort()方法可以用来排 ...

  10. C++ 中 #ifndef, #define, #endif 宏定义

    目的:为了保证包含的内容只被程序(include) 和编译了一次.判断预处理器常量是否已被定义. 预编译将所有头文件(#include"XXX.h")用头文件中的内容来替换,头文件 ...