Git、Github 和 GitLab

土豆 -
Git、Github 和 GitLab
一、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
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
下一篇: git命令

Tags 标签

gitgithubgitlab

扩展阅读

加个好友,技术交流

1628738909466805.jpg