乐趣区

关于git:GitGithub-和-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 仓库

  1. 先在 github 上创立一个我的项目:例如 test-demo
  2. 在本地 test-demo 我的项目中应用 git init 把其变成 Git 能够治理的仓库

    git init
  3. 若要疏忽本地的文件或文件夹不被提交到 github,则须要在我的项目根目录下创立 .gitignore 文件

    touch .gitignore
  4. 关上文件,编辑内容,例如:

    node_modules/update.txt

    则能够疏忽目录下 node_modules 文件夹及 updata.txt 文件.

  5. 增加文件夹下所有文件到暂存区 git add .

    git add .
  6. 把文件提交到仓库 git-commit -m“”

    git commit -m 'decriptions'
  7. 关联近程仓库(第一次应用须要增加 github 公钥)

    git remote add origin git@github.com:***/test2.1-sell.git
    或者
    git remote add origin https://github.com/***/test2.1-sell.git
  8. 获取近程库与本地同步(近程仓库不为空须要这一步)

    git pull --rebase origin master
  9. 把本地内容推送到近程库 应用 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
退出移动版