GitLab介绍
Git最初是用于Linux内核开发的版本控制工具,现在已被应用到了很多项目中。
GitLab是支持Git的源码存取服务,直观理解就是GitLab为Git封装了一层用户友好性的UI以及相关便捷操作。

软件安装(准备工作)
Git主要是将不用用户电脑中的代码版本进行控制,这就需要用户电脑中也需要安装Git环境,以下是windows下Git环境的安装:
需要下载安装两个软件:

1、TortoiseGit,是TortoiseSVN的Git变种,主要用于图形化显示,windows32位的下载地址:
http://tortoisegit.googlecode.com/files/TortoiseGit-1.7.14.0-32bit.msi
2、msysGit,windows下的Git版本,是TortoiseGit所必须依赖的,windows32位的下载地址:
http://msysgit.googlecode.com/files/Git-1.7.11-preview20120710.exe
下载完两个软件之后,首先安装TortoiseGit,安装完TortoiseGit之后先别急着用,接着安装msysGit,安装过程中的一些选项都可以默认!

使用教程
准备工作做好之后,以下是实验室GitLab的使用教程:
1、登录192.168.103.4:3000,把鼠标移到页面右上角的花形图案,然后点击出现的”My profile“,该栏是用户的配置信息,包括账户信息、SSH Keys以及代码风格等
2、首先需要把自己本机上的SSH Key复制到GitLab,是为了今后GitLab服务器能够无密码访问本机,先点击页面“SSH Keys”,再点击”Add new“,出现的页面中”Title“为SSH key的名字,自己可以随便取,下面讲怎么生成自己电脑本机的SSH Key。首先打开之前安装的”Git Bash“(Git安装后的一部分),输入”ssh-keygen -t rsa -C "jinchao@nlsde.buaa.edu.cn"“,把里面的jinchao@nlsde.buaa.edu.cn改成自己的注册邮箱地址,然后一直敲回车就行

 生成SSH Key之后,到自己电脑下的C:\Users\<用户名>\.ssh文件夹下id_rsa.pub文件中的内容复制到“Key”的文本框中,点击保存。

3、接下来讲怎么创建项目,可以点击页面最上面的“+Project”来新建项目,  新建完成之后点击“Create project”,
这些命令是GitLab要求用户在自己电脑上完成的,主要就是为Gitlab的新建项目在自己本地电脑建一个一对一绑定的文件夹,以供以后的更新和同步。在这些命令中,“Git global setup”下的两条命令是必须要先执行的,主要是将自己的邮箱注册到自己本地Git中,
  “Create Repository”和“Existing Git Repo?”下的命令主要就是创建目录以及上传文件,这些操作可以都用命令行完成,但是为了使用的方面,我们用TortoiseGit的可视化界面来完成这些工作。

4、以下以我创建的GreenPipe项目为例,来讲解怎么用TortoiseGit的可视化界面将本地文件传到Gitlab中。
     我本地电脑中的一个叫“GreenPipe”的文件夹是我之前做的项目,该文件夹也是Eclipse的一个工作目录,即代码可能随时会被更改。为了将本地的“GreenPipe”文件夹下的内容上传到远程GitLab中新建的GreenPipe项目下,我们首先要将该文件夹做一些git的初始化。
     首先点击进入该文件夹,点击鼠标右键,选择“Git Create repository here...”,再点击“OK”,出现小错误没事,点击“Proceed”

  文件夹中会出现一个叫.git的文件夹,该文件夹是隐藏的,需要查看隐藏文件夹才能看到,该文件夹就是git 初始化的结果,里面有很多git正常工作需要用到的配置信息。
    这些准备工作做完之后,下面讲怎么将文件夹里的内容传到GitLab中,主要包括两个操作:“commit”和“push”。
    在文件夹内点击鼠标右键,选择”Git Commit -> 'master'“,出现下面的对话框,上面的文本框里是用户可以填的消息,即本次代码更新的备注,文本框的内容不能为空!!!下面的框里是可以选择更新的代码文件,由于第一次上传,我选择了全部更新,然后点击Ok完成“commit”操作。

下图表示commit成功,下图左下角有Push操作,可以直接点击“Push”将这些已经commit的文件上传到GitLab的GreenPipe新建项目中。
 点击“Push”之后,出现了下图,我们要将代码文件传到GitLab上的GreenPipe新建项目中,却还不知道新建项目的地址,唉!

5、我们得先获取新建的项目在GitLab上的地址,查看之前的web页面,点击最上面的HTTP,该地址就是该新建项目的地址。
然后点击之前图中的“Manage”,在出现的图中点击左边”Git“选项下的“Remote”,即远程地址,输入Remote名(可随意),然后将上图中的HTTP地址复制到URL的文本框中,点击“应用”,再点“确定”即可
 以上步骤完成之后,再之前图中的“Remote:”右面的文本框中输入“master”,master是主版本的意思,可以在之后创建分支版本,截图如下:
 这些工作完成之后,现在只剩最后一步了,就是点击上图中的“OK”按钮, 
    居然提示还要输入Username:
 然后又要输入密码,感觉真麻烦!
 当这些上传完成之后,我们发现GitLab网页网上GreenPipe新建项目的页面已悄悄地发生了变化,
最终,我们顺利地将自己本地的代码上传到了GitLab上的项目中。注意,我之前曾尝试将整个项目(包括web前端大量js代码,以及各种jar包,总共50M),结果上传失败,所以大家上传代码的时候注意代码量的大小,由于GitLab跑在Ubuntu虚拟机上,可能会吃不消!
6、以上的操作已经能够实现将自己本地代码上传到GitLab中,下面讲一下Git的其他一些操作。
     Git作为版本控制工具当然能够实现将服务器端的代码Pull(提取)到自己本地电脑。在文件夹中点击右键,会发现有一个“Git Sync”的选项,该操作可以查看自己本地项目代码版本与GitLab中项目代码的不一致性,可以通过Pull(提取)操作将本地代码与GitLab中项目版本同步。