GitLab 小白入手教程
这里不讲概念性的东西,在看这个之前请先移步到廖雪峰的官方网站选择git教程!下载并安装Git,然后点击Git Bash Here ,进行全局配置
1 git config --glogal user.name “–”;
2 git config --glogal user.email “—@–.com”;
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
首先,注册github账号,gitlab可以用github账号进行登录,gitlab网址输入账号密码,点击github,如图:

GitHub与GitLab区别在于,GitLab可以免费设置私人项目,适合于公司内部开发项目。

一、创建远程项目


这样一个空的远程项目就创建好了!

二、生成SSH秘钥
一个公钥(一台主机)只能被一个用户使用。
点击头像——选择settings——选择SSH Keys

之前若已生成秘钥可通过:
Windows命令提示符:
type %userprofile%.ssh\id_rsa.pub
Windows / GNU / Linux / macOS / PowerShell上的Git Bash:
cat ~/.ssh/id_rsa.pub

若第一次生成SSH秘钥对,可以通过以下命令来操作:
Windows / GNU / Linux / macOS上的Git Bash:
ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096
(注意:该-o选项是在2014年推出的;如果此命令不适合您,只需删除该-o选项并再试一次)
your.email@example.com替换成你注册时的邮箱即可,如图:

然后怎么找到生成的秘钥呢?
按照刚才存放的地址,用编辑器打开id_rsa.pub文件,复制,粘贴到gitlab

三、下载远程项目到本地
经过前面的准备工作,终于终于可以下载项目了,还记得之前项目的地址吗?

在本地找一个想要存放项目的位置,右键选择Git Bash Here
输入命令 git clone git@gitlab.com:xxxxxxxx/test.git(刚才复制的地址)
注:git clone 默认下载master分支,会把远程整个仓库的master分支代码clone下来,而且只会在本地默认创建一个master分支。
如果想要下载指定分支的代码,输入命令:git clone -b 分支名+地址;

看到test项目下已有.git文件,此文件为隐藏文件,且本地默认为master分支,接下来可以进行项目开发,增加文件等,比如
创建readme.txt文件,
vi readme.txt 新建文件 (注:mkdir 新建文件夹
并编辑一些内容
i 进入编辑区域,可输入内容 ,输入完成后,
Esc+:(英文状态下的冒号) 一前一后按键即可,不用同时按
输入wq 保存退出
然后将此文件上传到远程分支
很简单的三步走起:
① git add . 添加所有文件到暂存区 (注:不会有任何提示消息)
② git commit -m ‘注释内容’ 提交所有文件到远程,注释内容一定要写详细,为了以后可以更加清楚自己改动的具体内容
③ git push 第一次push会有提示,根据提示命令进行push

我这个git add . 竟然有提示不管他,git push第一次没提示也不管了,反正最终成功,去gitlab上刷新会显示,如图

四、本地项目上传到远程
如果本地就有一个新项目,想要上传到gitlab上怎么办?
依然需要在gitlab上创建项目,同上,(或者直接使用上一个test项目)
本地项目分为两种情况:
1、本地项目并没有初始化git仓库
在本地新项目中右键Git Bash Here
git add . 会报错

没有.git文件
所以第一步:
git init 初始化一个git仓库,来管理新项目代码
命令执行后,该目录下会多出一个.git的目录,这个目录是Git来跟踪管理版本库的,请勿手动修改。但是.git文件夹默认为隐藏属性,因此需要通过设置系统属性,才能看到这个文件夹,也可通过命令行 ls -a查看当前项目所有文件

本地仓库创建好之后需要将本地与远程进行连接,命令如下:
git remote add origin git@gitlab.com:xxxxxxxxxx/test.git

连接成功之后不会有任何提示,可通过命令:git remote -v 查看当前连接的远程仓库的详细地址
接下来就可以把本地项目上传到远程仓库了,同上!
2、本地项目有git仓库
已经有git仓库可使用 git remote -v查看,如果是想要上传到的远程仓库就直接那三步就行
如果想要修改远程仓库,则:
git remote rm origin 先删除本地项目连接的远程仓库
git remote -v 就已经没有任何东西了

然后继续添加远程仓库 git remote add origin + 仓库地址
五、如何进行多人协作
Gitlab的最大优势就是可以多人同步进行,下面就具体讲一下操作步骤,划重点!!!
1、作为项目负责人(管理员)该这样操作:
创建项目,将url地址发给每一个成员,点击项目,点击settings——Members,将需要进行开发的开发人员添加进来

有点像一些聊天群的管理员,可以给其他成员不同的权限。
1)负责人在gitlab上新建一个项目,并为每一个开发人员创建一个开发分支(hxh),如图:

点击 “+”选择new branch;

开发人员clone项目之后,经git branch检查发现本地只有master分支,因此也需要把属于自己的开发分支也一起获取下来
$ git fetch origin hxh:hxh
//拉取远程的一个叫hxh的分支,并在本地创建一个叫hxh的分支和远程的分支匹配
git checkout hxh
切换到hxh分支
之后就还是三步走起

2)负责人不为开发人员分别创建开发分支
虽然项目负责人不分别为开发人员创建分支,但是需要把他们添加到一个team中,否则开发人员在向项目push自己的开发分支时遇到权限错误
开发人员在把项目clone之后需要为自己新建一个开发分支(namedev_branch),因为经由git branch查看发现本地只有master分支
git branch hhh //新建分支hhh
git checkout hhh //切换到分支hhh
git push //将本地分支推送到远程分支 第一次push会有提示,采用提示的命令来push

2、下面就是各个开发人员进行本地开发,并上传代码到远程分支
例如我在本地分支hxh进行代码开发,远程一般会创建dev分支,每个开发人员会将代码合并到dev分支,最终负责人将dev合并到master分支。
①上传代码到远程(分支hxh)
git add .
git commit -m ‘注释内容’
git push

②将本地代码提交并合并到远程分支
git checkout -b dev 本地创建dev分支,并切换到dev分支
git pull 拉取远程代码,默认拉取远程仓库当前所在分支,若指定分支,则 git pull origin dev拉取远程dev分支代码
git merge hxh 将hxh合并到dev分支(可能出现冲突,需要解决冲突)
git push 将合并后的代码上传到远程

③继续进行代码开发
git checkout hxh 切换到本地分支
git pull origin dev 拉取远程dev分支代码
继续进行代码开发

④若在第三步的时候没有进行分支切换,直接在dev分支进行开发,那么可以进行以下操作:
git add .
git commit -m ‘注释内容’
git pull origin dev 防止其他人有改动,先将远程dev分支最新代码拉取下来
git push
六、git命令汇总
git add . 上传代码到暂存区
git commit -m ‘注释内容’ 将代码从暂存区提交到当前分支
git push 将代码从当前分支推送到远程分支

git branch 查看本地所有分支
git branch -r 查看远程所有分支
git branch -a 查看本地及远程所有分支
git branch 分支名 创建x分支

git checkout 分支名 切换到x分支
git checkout -b 分支名 创建并切换到x分支

git push origin :分支名 删除远程分支(注:origin后有空格)

GitLab 小白入手教程相关推荐

  1. 【gitlab】gitlab快速部署教程

    gitlab快速部署教程 部署环境 Ubuntu 16.04(亲测可用) 开始部署 安装依赖 sudo apt-get install curl openssh-server ca-certifica ...

  2. git指令快捷 idea_IDEA+Git+Gitlab使用详细教程

    GitLab 安装踩坑 502错误码和访问卡顿解决办法 Gitlab对内存的要求高,我的服务器Centos 7+2核心+2G内存,频繁报502错误,访问也很卡.原因可能是可用内存太少. # free ...

  3. gitlab服务器搭建教程

    gitlab服务器搭建教程 ----2016年终总结 三 参考https://bbs.gitlab.cc/topic/35/gitlab-ce-8-7-%E6%BA%90%E7%A0%81%E5%AE ...

  4. [github] github入手教程

    [github] github入手教程 简单的介绍一下Github的基本操作. 主页:https://github.com/ 首先自然是在GitHub注册一个帐号了.然后开始正文吧. Git基本介绍 ...

  5. 树莓派的系统安装(简单易入手教程!!!)

    树莓派的系统安装(简单易入手教程!!!) 感谢一位幽默的大佬将这技术传授与我,接下来我将把我的理解一 一还原,让大家也可以获取到这样一个很棒的技能,若文章中有什么错误或不足的地方,望大家包涵并指正,希 ...

  6. chromedriver的下载与使用-Windows64位系统(4)【图文并茂的小白级教程】

    chromedriver的下载与使用-Windows64位系统(4)[图文并茂的小白级教程] 文章目录 chromedriver的下载 chromedriver的路径在Python中的配置 先贴下另外 ...

  7. Gitlab CI/CD教程以及实战docker自动部署前端项目(全)

    目录 前言 1. 技术知识 1.1 docker安装gitlab 1.2 docker安装gitlab-runner 1.3 .gitlab-ci.yml编写 1.4 使用docker部署前端项目 1 ...

  8. Chrome的下载与安装使用-Windows64位系统(2)【图文并茂的小白级教程】

    Chrome的下载与安装使用-Windows64位系统(2)[图文并茂的小白级教程] 文章目录 下载安装Chrome前必须要注意的点 Chrome下载 Chrome安装 先贴下另外两篇目录与文章汇总的 ...

  9. 【小白CV教程】YOLOv5+Deepsort实现车辆行人的检测、追踪和计数

    [小白CV教程]YOLOv5+Deepsort实现车辆行人的检测.追踪和计数 本文禁止转载! 项目简介: YOLOv5检测器: DeepSort追踪器: 运行demo: 训练自己的模型: 调用接口: ...

最新文章

  1. 读写配置文件app.config
  2. 深层神经网络中的前向传播
  3. 根据文件路径检测文件大小并检测是否正在被占用
  4. JDK动态代理与CGLIB动态代理区别
  5. 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集...
  6. 山东省计算机春季高考大纲,2017年山东春季高考专业知识考试大纲.doc
  7. Kotlin学习笔记23 协程part3 lambda表达式深入 挂起函数 全局协程
  8. 聚焦核心竞争力:自建与外购
  9. 服务器宝塔怎么开启php5.4伪静态,WeCenter在宝塔面板LNMP环境下开启伪静态方法
  10. 全球最大的免费暗网托管服务商 DH 再度被黑关闭
  11. 09月23日 pytorch与resnet(一)
  12. 凸优化第六章逼近与拟合 6.3正则化逼近
  13. HTTP幂等性概念和应用
  14. 方便自己的一些学习科研的记录 【小神器】
  15. DDOS误判怎么预防
  16. 数商云跨境电商平台解决方案 1
  17. 申请百度语音识别API 接口-免费
  18. JS判断当前页面是否在微信内打开
  19. C2 - Pokémon Army (hard version)(思维+差分/线段树+dp)详解
  20. Codeforeces #710 div3题解报告

热门文章

  1. Weblogic补丁升级问题
  2. Hive经典面试题——级联求和(访客访问统计报表)
  3. lightroom 闪退_【Lightroom教程】3种校正白平衡的方法
  4. 淘宝官方订单 API 接口,获取购买到的商品订单列表
  5. 成本和性能(Cost/performance)
  6. cad和php哪个工资高,CAD顶级绘图员必备,人手一份的绘图命令,学会工资上万不是梦...
  7. 模拟图灵机XN乘2的过程
  8. python 中文转拼音
  9. 【scratch】class_6_植物大战僵尸(一)
  10. PhotoZoom Classic 7怎么样?对电脑和系统要求高不高?