gitlab版本工具,小白眼中的git操作

在git的上学进度中,走了不少弯路,以后也总算对git有了启幕的认知。

小白眼中的git操作,小白眼中git操作

在git的学习进度中,走了重重弯路,今后也好不轻易对git有了开班的认知。

在项目中,笔者动用的指令:

 

1.git clone ******    备注:***代表GitLab上的品类地址。 
那句话的意思是:把项目从GitLab克隆到地面。

2.git add .    增添文件到暂存区

三.git commit  把暂存区的文本提交到地面货仓

4.git pull 把远程饭馆的代码拉到本地仓库

5.git push 把地面仓库的代码推到远程宾馆

以此是笔者在专业中不出意外的处境下所用到的git命令,当然还有越来越多越来越高端的一声令下,小杨未来再享受。

在git的读书进度中,走了数不胜数弯路,未来也究竟对git有了启幕的认知。
在品种中,作者使用的一声令下:…

亚洲必赢官网 1

GitLab版本处理工科具,gitlab版本工具

在档期的顺序中,小编动用的授命:

01 认识Git、GitHub和GitLab

Git是现阶段相比盛行,功效强大的本子管理器,它一定于svn之类的版本管理工科具。
GitHub是二个用来托管工程项目标网址,通过Git提交代码至GitHub实行托管。
GitLab是一个用来仓库管理体系的开源项目,使用Git作为代码管理工科具,并在此基础上搭建起来的web服务。

第1章 GitLab管理

 

02 Git安装

从Git官方网址下载for window的安装程序
下载地址,依据安装表达实行安装,一路next就可以。安装到位后,在初步菜单里找到“Git”->“Git
Bash”,跳出2个看似命令行的窗口,就印证Git安装成功!

亚洲必赢官网 2

申明安装成功

1.一 版本调控系统

版本调节系统(version control
system)是记录多少个或若干文件内容更改,以便以往查看特定版本修订情形的种类。版本调节系统不仅能够动用于软件源代码的文本文件,而且能够对任何项目标公文进行版本调节,遍布应用的如svn,git等

1.git clone ******    备注:***意味着GitLab上的品种地址。 
那句话的情致是:把品种从GitLab克隆到本地。

03 Git与GitLab的使用

1、展开Git Bash命令行工具,试行命令ssh-keygen -t rsa -C
Email-Addresss生成叁个密钥对。
二、登入到GitLab,点击右上角你的用户头像,点击Edit Profile
settings,点击SSH Keys,点击Add SSH
Key,填写Title栏,复制用户目录下.ssh/id_rsa.pub文件的始末到Key,点击Add
Key。
三、点击右上角的New project,填写完结后点击Create
project新建一个储藏室,点击Activity,点击SSH后复制SSH边上栏里的地址。
肆、张开Git Bash命令行工具,切换来二个安妥的目录,使用命令git clone
刚才复制的URL克隆创造的旅舍。
5、进入目录cd 货仓名,推行命令git config –global user.email
your-email,
git config –global user.name your-name,设置你的个人新闻。
陆、相关命令:
echo “#Description” > README.md,加多3个文书
git status,查看当前情状,发掘有未追踪文件
git add .,当前目录全部文件增加到暂存区
git diff,相比当前职业区和暂存区有什么不一致
git status,查看当前事态,开采有文件未提交
git commit -m “注释”,把暂存区内容提交到地面货仓
git push -u origin master,把地点仓库的交付推送到长途仓库
git log,查看提交日志

一.2 常见版本管理工科具

2.git add .    添Gavin件到暂存区

04 Git与GitHub的使用

1、展开Git Bash命令行工具,试行命令ssh-keygen -t rsa -C
Email-Addresss生成一个密钥对。

亚洲必赢官网 3

变迁密钥对

2、登陆到GitHub,点击右上角你的用户头像,点击settings,选用“SSH and GPG
Key,点击New SSH
Keys,填写Title栏(随便填),复制用户目录下.ssh/id_rsa.pub文件的始末到Key,点击Add
SSH Key。

亚洲必赢官网 4

添加SSH Key

三、创设仓库(Repository),点击右上角加号,选拔“New
repository”,填写仓库名称(Repository
name)、描述(Description),选拔Public(Private要付账),最终一个选不选无所谓。点击下边铁黄按键create
repository,仓库就建好了。能够遵照以下表达连忙利用。

亚洲必赢官网 5

创设版本库.png

四、展开存放代码的目录,比如D:\python\pyhon,右键Git Bash
here张开命令行工具,使用命令git clone 复制代码库的U兰德奥迪Q3L 克隆创造的仓库。

5、进入目录,实践cd 仓库名,试行以下两条命令,设置你的个人音信。
git config –global user.email your-email
git config –global user.name your-name

亚洲必赢官网 6

计划个人GitHub用户名和信箱

陆、推行命令:
echo “#Description” > README.md,增加贰个文书 (可粗略)
git status,查看当前情况,发掘有未跟踪文件
git add .,当前目录全体文件加多到暂存区
git diff,相比较当前工作区和暂存区有啥不一致
git status,查看当前事态,开采有文件未提交
git commit -m “注释”,把暂存区内容交给到本地仓库
git push -u origin master,把地方旅舍的交由推送到长途仓库
git log,查看提交日志


1.2.1 SVN

亚洲必赢官网,聚集式的版本调整系统,只有2当中央数据旅馆,假如大旨数据仓库挂了只怕不可访问,全部的使用者不可能利用SVN,不可能进展付出或备份文件

亚洲必赢官网 7

叁.git commit  把暂存区的文件提交到本地仓库

Git本地分支管理

分段的创办、合并、删除
git branch,显示全部支行
git branch b一,从当下支行创立三个叫b一的分段
git checkout b1,切换到b1分支
git checkout -b b①,约等于上述两条命令的组成
git checkout master,切换到master主分支
git merge b一,把b1分层的代码合并到master上
gitlab版本工具,小白眼中的git操作。git branch -d b一,删除b壹支行,不可能在被去除分支上实行


1.2.2 Git

布满式的版本调节系统,在种种使用者计算机上就有全部的数据酒馆,未有互连网依然得以选取。为了习贯及团队同盟,会将本地数据同步到Git服务器或GitHub等代码酒馆

亚洲必赢官网 8

 

四.git pull 把远程商旅的代码拉到本地旅社

Git远程分支处理

git branch -a ,查看到远端仓库的道岔

第3章 Git软件安装

伍.git push 把本地货仓的代码推到远程客栈

二.一 配置安装GIT

Git是分布式的版本调整系统,我们只要有1个原始Git版本旅舍,就能让任何主机克隆那几个原始版本旅社,从而使3个Git版本仓库能够被同时分布到差别主机上,并且每台主机的版本库都以如出一辙的,未有先后之分

那非常的大的保险了数量安全性,并使得用户能够独立挑选向Git服务器推送文件

 官网: 

本条是本人在职业中不出意外的场馆下所用到的git命令,当然还有更多越来越高等的授命,小杨今后再享受。

2.1.1 筹划条件

 1 [[email protected] ~]# rpm -qa centos-release
 2 centos-release-7-4.1708.el7.centos.x86_64
 3 [[email protected] ~]# uname -a
 4 Linux gitlab 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
 5 [[email protected] ~]# getenforce
 6 Disabled
 7 [[email protected] ~]# systemctl status firewalld.service
 8 ● firewalld.service - firewalld - dynamic firewall daemon
 9    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
10    Active: inactive (dead)
11      Docs: man:firewalld(1)

贰.一.二 安装查看git

 1
[[email protected]
~]# rpm -qa git # Centos系统自带git软件,故无需安装 二git-壹.八.三.一-1一.el7.x八陆_64 3 4 yum install -y git
#一向不则进行安装 

2.二 初次运营Git前的配置

二.二.一 Git全局配置

1 git config --global user.name "banana"   #配置git使用用户
2 git config --global user.email "[email protected]"   #配置git使用邮箱
3 git config --global color.ui true   #语法高亮,显示加颜色
4 git config --list   #查看全局配置

贰.2.二 查看配置文件

1 [[email protected] ~]# cat .gitconfig   #上述操作即对配置文件进行的编辑
2 [user]
3        name = banana
4        email = [email protected]
5 [color]
6        ui = true

 

第3章 GitLab使用

三.一 伊始化专门的学问目录

用来存放全体笔记代码等,当中目录下所有隐身目录,存放历史记录和备份(密文存在)

1 mkdir git_data   #创建并进入本地工作目录
2 cd git_data/
3 git init   #初始化工作目录

1 [[email protected] git_data]# git status   #查看git工作区的状态信息
2 # On branch master   ->当前处于主分支
3 # Initial commit   ->最初的提交
4 nothing to commit (create/copy files and use "git add" to track)   ->无文件要提交

三.贰 创造/提交数据文件

0壹.创制文件

 1 touch README 

02.查看git状态

1 [[email protected] git_data]# git status
2 # On branch master   ->位于分支 master
3 # Untracked files:   ->未跟踪的文件
4 # (use "git add <file>..." to include in what will be committed) ->使用"git add <file>."以包含要提交的内容
5 #     README
6 nothing added to commit but untracked files present (use "git add" to track)   ->提交为空,但是存在尚未跟踪的文件(使用"git add"建立跟踪) 注意:git默认不提交空目录

0三.增多到暂存区域[add后接*/file]

 1 git add README 

0四.提交暂存区域文件至git本地宾馆

1 git commit -m 'first commit'  
2 # -m后接注释信息,内容关于本次提交的说明,方便自己或他人查看

0四.1方便人民群众方法

1 git commit -a -m "注释信息"
2 #若不加-m添加说明信息,后面会自动进入编辑模式,仍需添加说明的信息。
3 #-a表示直接添加文件(即本地仓库的原有文件后来经过改变时,我们就可以使用-a直接在仓库里面进行修改)

05.重复翻开git状态

 1
[[email protected]
git_data]# git status 2 # On branch master ->位于分支master 三nothing to commit, working directory clean
->无文件要提交,干净的办事区 

叁.2.一 查看目录内容

 1 [[email protected] git_data]# tree .git/   #存储所有历史版本信息即配置文件,是通过git init生成的目录
 2 .git/
 3 ├── branches
 4 ├── config
 5 ├── description
 6 ├── HEAD
 7 ├── hooks
 8 │   ├── applypatch-msg.sample
 9 │   ├── commit-msg.sample
10 │   ├── post-update.sample
11 │   ├── pre-applypatch.sample
12 │   ├── pre-commit.sample
13 │   ├── prepare-commit-msg.sample
14 │   ├── pre-push.sample
15 │   ├── pre-rebase.sample
16 │   └── update.sample
17 ├── index
18 ├── info
19 │   └── exclude
20 ├── objects
21 │   ├── e6
22 │   │   └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391   #服务器只存储加密文件信息
23 │   ├── info
24 │   └── pack
25 └── refs
26     ├── heads
27 └── tags

小结提交数据/文件分为两步骤3区域:

在干活目录git_data成立”README”数据文件;使用git
add将文件提交到暂存区域(权且存放可撤废操作);将暂存区域的文书统一交由到Git酒店中

3.2.二 职业规律

大家能够总结的把职业目录精晓成是1个被Git服务程序管理的目录,Git会时刻追踪目录内文件的改造。在设置好Git服务程序后,默认就会成立三个master分支,可供大家直接交给数据

三.三 暂存区数据操作

3.三.一 git删除数据

  1. 未加多到暂存区的多寡->间接运用rm命令删除就可以

02.已增加到暂存区的数码

 1 git rm –cached database 2
#将文件从git暂存区域的追踪列表移除,并不删除当前工作目录内的数据文件->只删除缓存
叁 git rm -f database 肆
#将文件数量从git暂存区和劳作目录一齐删除->恒久删除 

3.三.2 git重命名数据

0壹.未增加到暂存区的数目->直接mv/rename改名就可以

0②.已增加到暂存区数据

 1 git mv README NOTICE #
README修改前/NOTICE修改后;最终实行付出git旅馆 二注意:也可mv修改名称→删除git仓库的文件快速照相git rm
‘*.txt’→将新的公文增加进去→提交git宾馆 

三.4 历史记录数据

三.四.一 查看历史记录

1 git log   #查看提交历史记录
2 git log -2   #查看最近几条记录
3 git log -p -1   #-p显示每次提交的内容差异,例如仅查看最近一次差异
4 git log --stat -2   #--stat简要显示数据增改行数(能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息)
5 git log --pretty=oneline   #--pretty根据不同的格式展示提交的历史信息
6 git log --pretty=fuller -2   #以更详细的模式输出提交的历史记录
7 git log --pretty=fomat:"%h %cn"   #查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名

运用format参数来内定具体的出口格式

 1 %s     提交说明
 2 %cd    提交日期
 3 %an    作者的名字
 4 %cn    提交者的姓名
 5 %ce    提交者的电子邮件
 6 %H    提交对象的完整SHA-1哈希字串
 7 %h    提交对象的简短SHA-1哈希字串
 8 %T    树对象的完整SHA-1哈希字串
 9 %t     树对象的简短SHA-1哈希字串
10 %P    父对象的完整SHA-1哈希字串
11 %p    父对象的简短SHA-1哈希字串
12 %ad    作者的修订时间

三.四.二 还原历史记录

Git服务程序中有一个本子指针HEAD,当用户申请恢复生机数据时,将HEAD指针指向到某些特定的付出版本。但Git为防止历史记录争辨用SHA-一算出十6进制的哈希字串来分别提交版本。暗中认可HEAD指针会指向到目前一回提交记录,上三个提交版本即HEAD^,上上三个本子即HEAD^^
(HEAD~5简化表示往上数第陆个提交版本)

 1 git reset –hard HEAD^
#过来历史提交版本上2次 2 git reset –hard 3de一5d四
#找到历史还原点的SHA-一值后,就能够回复(值未写全时系统会自动相称) 

3.四.三 还原以往数码

即恢复生机到历史数据后想再度撤除改换,但是git log已经找不到这一个本子了

 1 git reflog #翻看今后历史更新点 

③.四.4 标签使用(于commit之后)

1 git tag v1.0     #当前提交内容打一个标签(方便快速回滚),每次提交都可以打个tag
2 git tag          #查看当前所有的标签
3 git show v1.0   #查看当前1.0版本的详细信息
4 git tag v1.2 -m "version 1.2 release is test"
5 #对当前版本(最新)打标记,用于commit提交之后接着进行打标记(-a指定标签名,-m为说明信息)
6 git tag -d v1.0    #我们为同一个提交版本设置了两次标签,删除之前的v1.0

1 [[email protected] git_data]# git reset --hard 0bdf2e7
2 HEAD is now at 0bdf2e7 modified README file
3 [[email protected] git_data]# git reset --hard V20171130
4 HEAD is now at a66370a add oldboy dir

三.5 分支管理

在实际的品类支付中尽量保障master分支牢固,仅用于公布新本子,日常无须平昔改换里面包车型大巴数据文件。而付出都在dev分支举行改造,即各种人从dev分支创设本人个人分支,开采完合并到dev分支,最后合并到master分支

3.5.1 成立分支

1 git branch linux   #创建分支
2 git branch        #查看分支情况,当前分支前有*号
3 git checkout linux  #Switched to branch 'linux' 切换分支
4 git checkout --<file>  #一键还原,直接将git仓库的文件覆盖当前文件[危险]

3.5.二 合并分支(自动合并)

急需:把linux的行事成果合并到master分支上

 1 git checkout master #切换到master分支 2
git merge linux #合并Linux分支至master 3 git branch -d linux
#确认合并落成后,提议删除分支 

留神:系统暗许不编辑空分支

三.伍.三 合并争辨模拟(手动合并)

在意:只有同目录同文件同行才会促成合并争辨的场所,只要有好几不壹就能够进行联合

01.准备:

1 cd git_data
2 echo 'master code' >>README
3 git commit -a -m 'this master branch commit'
4 git checkout linux
5 cat README
6 
7 echo 'linux code' >>README
8 git commit -a -m 'this linux branch second commit'
9 git checkout master

02.现象:

1 [[email protected] git_data]# git merge linux
2 Auto-merging README   ->自动合并 README
3 CONFLICT (content):Merge conflict in README   ->冲突(内容):合并冲突于 READM
4 Automatic merge failed; fix conflicts and then commit the result.
5 ->自动合并失败;修正冲突然后提交修正的结果

0叁.缓和:人工选用想要的始末,同时修改master和linux分支同文件并提交,最后merge

1 [[email protected] git_data]# vim README
2 this is linux branch hello world
3 master code
4 linux code
5 [[email protected] git_data]# git commit -a -m '解决合并冲突'
6 [master 19cb918] 解决合并冲突
7 [[email protected] git_data]# git merge linux
8 Already up-to-date.

三.陆 删除分支

由于事先已联合了linux分支,故未来看来它在列表中,在这些列表中拨有名字前没*号的道岔日常可用git
branch -d删除且不会失去任何事物

1 [[email protected] git_data]# git branch --no-merged   #查看所有包含未合并工作的分支
2   testing
3 [[email protected] git_data]# git branch -d testing   ->删除分支
4 error: The branch 'testing' is not fully merged.   ->分支'testing'未进行合并
5 If you are sure you want to delete it, run 'git branch -D testing'.   ->若确定想删除它,即使用-D强制删除

 

第肆章 客户端安装软件

 一软件下载地址 

4.1 windows上安装Git

用来直接管理windows。安装格局暗中认可下一步→桌面右键”Git Bash Here”→命令行

 1 [email protected] MINGW64 ~/Desktop
 2 $ pwd
 3 /c/Users/shine/Desktop
 4 [email protected] MINGW64 ~/Desktop
 5 $ mkdir git_data
 6 [email protected] MINGW64 ~/Desktop
 7 $ cd git_data
 8 [email protected] MINGW64 ~/Desktop/git_data
 9 $ git init
10 Initialized empty Git repository in C:/Users/shine/Desktop/git_data/.git/

01.桌面右键”Git Gui Here”→”打开文件”

亚洲必赢官网 9

0贰.定义饭馆的门路”git_data”→加多用户音信(如下)

1 [email protected] MINGW64 ~/Desktop/git_data
2 $ git config  --global user.email "[email protected]"
3 [email protected] MINGW64 ~/Desktop/git_data
4 $ git config  --global user.name "banana"

0三.软件使用

现今,Git的装置使用到位

4.2 linux上安装GitLab

互相数据:

• 使用GitHub也许码云等国有代码酒馆

• 使用GitLab私有饭店

 一 官方安装文书档案
二 国内软件镜像站
 

1 mkdir -p /application/tools
2 cd /application/tools
3 rz -E   #上传gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm
4 
5 yum localinstall gitlab-ce-9.1.4-ce.0.el7.x86_64.rpm
6 gitlab-ctl reconfigure   #初始化,仅执行一次
7 注意:gitlab默认开机自启,无需修改;开机不自启会导致软件服务无法启动

4.贰.一 web网页测试

 1  

命令行测试:

 一 ps -ef 2 netstat -lntup 三 gitlab-ctl
status 4注意:软件安装暗许在/opt下,其数据库为postgresql;当该机器有apache服务需手动关闭 

 亚洲必赢官网 10

注意:创立密码私下认可即为七个人,生产条件太过简短不可用;账户暗中同意root

提示:git本身并未有别的权力调整,因为git就是为着开荒者共同编辑代码而产出,假设未有权限,也会产生音信走漏,于是出现web分界面

四.二.二 网页页面使用

0壹.创办新品类

申明:三个索引开端化完正是贰个等级次序,不能够再实行修改,只好举行再一次创制

 亚洲必赢官网 11

0二.打开网页编辑

 亚洲必赢官网 12

0三.通过密钥进行表明

 亚洲必赢官网 13

 1 ssh-keygen #扭转密钥对(一路回车) 二 cat
/root/.ssh/id_rsa.pub #查阅公钥id_rsa.pub值并累加如下: 

 亚洲必赢官网 14

0肆.老是推送测试

1 ssh [email protected]10.0.0.63
2 git clone [email protected]10.0.0.63:root/shine.git
3 ls /root
4 #在哪个目录克隆的就默认存在于那个目录(想切换到别的目录需提前切换再git clone)

 

1 cd shine   #这里名称与上文相同
2 touch README.md
3 git add README.md
4 git commit -m "add README"

1 [[email protected] shine]# git push -u origin master   #把本地代码向远端仓库(gitlab网页)推送
2 Counting objects: 3, done.
3 Writing objects: 100% (3/3), 208 bytes | 0 bytes/s, done.
4 Total 3 (delta 0), reused 0 (delta 0)
5 To [email protected]10.0.0.63:root/shine.git
6  * [new branch]      master -> master
7 Branch master set up to track remote branch master from origin.

刷新页面查看,即下图

亚洲必赢官网 15

05.创办理文件件测试

 1 cd shine/ 2 git pull
#将代码拉取到地头(必要在git的干活目录中张开操作) 

 

迄今,GitLab的设置使用形成

4.3 安装GitHub托管服务

Github是Git版本库的托管服务,是当今日下最大的公网旅馆,具有上百万的开采者用户,也是软件开采和搜索能源的一级路线。不仅能够托管种种Git版本货仓,还富有更雅观的Web分界面。代码可被任何人克隆,使开采者为开源项贡献代码变得轻易

01.注册GitHub

 1浏览器访问github官方网站 

亚洲必赢官网 16

0二.填写个人用户名等音信→默许下一步→跳过描述

0三.创制项目

亚洲必赢官网 17

申明:制造新的类型事先要现验证邮箱

0肆.加多git服务器上扭转的公钥id_rsa.pub

 1
[[email protected]
~]# cat .ssh/id_rsa.pub 

 亚洲必赢官网 18

05.备选干活早已终止→成立多少个新的酒馆

 亚洲必赢官网 19

0六.基于以下音讯创立代码酒馆→推送测试

 亚洲必赢官网 20

1 mkdir -p banana
2 cd banana/
3 echo "# test" >> README.md
4 git init
5 git add README.md
6 git commit -m "first commit"
7 git remote add origin [email protected]:banana-tong/test.git

 推送测试

 1 [[email protected] banana]# git push -u origin master
 2 The authenticity of host 'github.com (192.30.255.113)' can't be established.
 3 RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
 4 RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
 5 Are you sure you want to continue connecting (yes/no)? yes
 6 Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.
 7 Counting objects: 3, done.
 8 Writing objects: 100% (3/3), 209 bytes | 0 bytes/s, done.
 9 Total 3 (delta 0), reused 0 (delta 0)
10 To [email protected]:banana-tong/test.git
11  * [new branch]      master -> master
12 Branch master set up to track remote branch master from origin.

0七.刷新分界面即能够开采推送上去的README.md文件

 亚洲必赢官网 21

08.此时可创设新文件→命令行git pull拉取实行测试

从那之后,GitHub的安装使用完了

 

第6章 有关Git常用命令

 1 add        #添加文件内容至索引
 2 branch     #列出、创建或删除分支
 3 checkout   #检出一个分支或路径到工作区
 4 clone      #克隆一个版本库到一个新目录
 5 commit    #记录变更到版本库
 6 init        #创建一个空的 Git 版本库或重新初始化一个已存在的版本库
 7 log        #显示提交日志
 8 merge     #合并两个或更多开发历史
 9 mv        #移动或重命名一个文件、目录或符号链接
10 pull       #获取并合并另外的版本库或一个本地分支
11 push      #更新远程引用和相关的对象
12 rm        #从工作区和索引中删除文件
13 show     #显示各种类型的对象
14 status     #显示工作区状态
15 tag       #创建、列出、删除或校验一个GPG签名的 tag 对象

下节想跟我们一同研商一下有关代码上线难题,如有不妥望海涵

 

此笔记是本身学习摘记整理而成,此为初稿(尚有许多不周到之处),原创文章允许转发,转发时请务必以超链接格局声明小说原来出处,作者消息和本申明,否则将追究法律权利。

那里感激奇妙海螺为本小说提供的宣示

第二章
GitLab管理 1.1 版本调节系统 版本决定体系(version control
system)是记录八个或若干文书内容更动,以便…

网站地图xml地图