一、Git、GitLab 和 Github 的关系
以初学者的角度理解一下 Git、GitLab 和 Github 三者之间的关系:
- Git – 版本控制工具
- Github – 一个网络平台,提供给用户空间存储 Git 仓库,保留用户的一些数据文档或者代码
- GitLab – 基于 Git 的项目管理软件
三者都是 Git,能够说是 Git 的衍生品
起源:大牛 linus Torvalds 为了方便管理 linux 内核而开发的一个开源的版本控制软件 Git。
二、Git 的应用
2.1 简介
Git 是目前世界上最先进的分布式版本控制系统。它的工作原理 / 流程如下:
[Workspace: 工作区 Index / Stage: 暂存区 Repository: 仓库区(或本地仓库)Remote: 近程仓库]
2.2 装置
去 Git 官网下载对应零碎的软件了,下载地址为 git-scm.com 或者 gitforwindows.org,依照装置向导实现装置。
具体装置能够参考 Git Windows 装置教程(2.35.1.2 版本)
2.3 根本应用
咱们通常用 Git 将本地文件推送到 Github 仓库,或者从 GitHub 克隆我的项目到本地
2.3.1 本地文件推送到 Github 仓库
- 先在 github 上创立一个我的项目:例如 test-demo
-
在本地 test-demo 我的项目中应用 git init 把其变成 Git 能够治理的仓库
git init
-
若要疏忽本地的文件或文件夹不被提交到 github,则须要在我的项目根目录下创立 .gitignore 文件
touch .gitignore
-
关上文件,编辑内容,例如:
node_modules/update.txt
则能够疏忽目录下 node_modules 文件夹及 updata.txt 文件.
-
增加文件夹下所有文件到暂存区 git add .
git add .
-
把文件提交到仓库 git-commit -m“”
git commit -m 'decriptions'
-
关联近程仓库(第一次应用须要增加 github 公钥)
git remote add origin git@github.com:***/test2.1-sell.git 或者 git remote add origin https://github.com/***/test2.1-sell.git
-
获取近程库与本地同步(近程仓库不为空须要这一步)
git pull --rebase origin master
-
把本地内容推送到近程库 应用 git-push
git push -u origin master
以上内容就能够将本地文件推送到 github 上,并且能够本人设定不须要上传哪些文件
2.3.2 从 GitHub 克隆我的项目到本地
- 配置 Git,须要在本地配置用户名和邮箱,参数–global 意思是全局都应用这个配置,配置命令如下
git config --global user.name "你的用户名"// 配置用户名
git config --global user.email "你的 email"// 配置 email
- 接下来我将我的项目 clone 到本地 C 盘 Git 目录下。首先在 C 盘新建一个叫 Git 文件夹(名字本人随便取), 而后进入到该目录下,最初将我的项目克隆到本地,命令如下
cd c: \\ 关上 c 盘
cd Git \\ 关上 Git 目录
git clone https://github.com/...... \\ 将我的项目克隆到本地
其中 https 的地址获取形式如下图
最终后果,克隆胜利,并且能够在指定目录下看到我的项目文件夹
三、GitLab 的应用
3.1 简介
GitLab 是一个用于仓库管理系统的开源我的项目,应用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。它的工作原理 / 流程如下:
GitLab 的服务形成:
- Nginx:动态 web 服务器。
- gitlab-shell:用于解决 Git 命令和批改 authorized keys 列表。
- gitlab-workhorse: 轻量级的反向代理服务器。
- logrotate:日志文件管理工具。
- postgresql:数据库。
- redis:缓存数据库。
- sidekiq:用于在后盾执行队列工作(异步执行)。
-
unicorn:An HTTP server for Rack applications,GitLab Rails 利用是托管在这个服务器下面的。
3.2 应用
3.2.1 登录 GitLab
进入 GitLab 登录界面(网址:https://gitlab.com/users/sign_in)
首先注册账号,注册须要登录到 google,也能够应用曾经注册的 Github 的账号来登录。下图是登录胜利的界面:3.2.2 创立工作组
1、Menu –> Groups –> Create group 点击创立
2、输出组名,创立一个公有组,点击确定
3、下图是创立好的组3.2.3 创立 GitLab 我的项目
1、抉择 Menu –> Projects –>Creare new project 创立一个我的项目
抉择 Create blank project,创立全新我的项目
2、填写项目名称,Project slug 主动补充。(Project description(optional)我的项目形容自定义)其余默认,点击确定
- 项目名称,项目名称能够为字母、数字、空格、下划线、中划线和英文点号组成,且必须以字母或数字结尾,不能应用中文
- 我的项目形容
-
可见性(库类别)
— 公有库:只有被赋予权限的用户可见
— 外部库:登录用户能够下载
— 公开库:所有人能够下载
3、点击创立,如下图:
我的项目地址有 HTTP 和 SSH 两种形式,可发送给开发人员下载和初始化我的项目
如果通过 SSH 形式拉取推送我的项目代码必须要导入 SSH key
4、导入 ssh key
在最下面有一个 Add SSH key,
点击 key 后呈现如下图片,将上面步骤生成的 key 文件复制到框中
能够应用已创立的 key 或者本人生成 key,生成命令 key 如下:ssh-keygen -o -t rsa -C " 你的邮箱 -b 4096
关上下面保留 key 的目录(我的是 C:\users\wang3/.ssh/id_rsa.pub)中的内容全副复制到下面步骤的框中点击 add key,会呈现如下截图:
5、增加组成员
找到本人创立的 group,在右边点击 Group information,再点击 Members,在 Add new members to group 名字中增加进须要的用户
增加完用户后能够在上面看到当初曾经增加进来的用户
6、上传我的项目
所有步骤都须要执行的命令
git config --global user.name "用户名"
git config --global user.email "邮箱"
状况 1)创立一个新的 git 仓库 步骤如下:
git clone git@gitlab.com:newTest/test.git
cd my_test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
状况 2)目录已存在的状况
cd existing_folder
git init
git remote add origin git@gitlab.com:newTest/test.git
git add .
git commit -m "Initial commit"
git push -u origin master
已存在 git 仓库
existing git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitlab.com:newTest/test.git
git push -u origin --all
git push -u origin --tags