版本管理之gitlab实践教程:基础篇(1)

原文

事前设定
git提交之前,需要设定如下项目以保证正常提交, 具体信息请设定为自己的信息。

[root@ku8-1 ~]# git config --global user.name "liumiaocn"
[root@ku8-1 ~]# git config --global user.email "liumiaocn@outlook.com"
[root@ku8-1 ~]# 

创建第一个git仓库
使用git add/commit命令之后即可将本地内容push到remote

[root@ku8-1 ~]# git clone git@172.17.0.2:root/demoprj.git
Cloning into 'demoprj'...
warning: You appear to have cloned an empty repository.
[root@ku8-1 ~]# cd demoprj

创建之后,通过

git add一个新建文件

[root@ku8-1 demoprj]# echo "Hello, LiuMiao" >README.md
[root@ku8-1 demoprj]# git add *

确认状态
[root@ku8-1 demoprj]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   README.md
#
[root@ku8-1 demoprj]#
git commit提交
[root@ku8-1 demoprj]# git commit -m "initial"
[master (root-commit) 70dfd04] initial
 1 file changed, 1 insertion(+)
 create mode 100644 README.md
[root@ku8-1 demoprj]#
git push
[root@ku8-1 demoprj]# git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 221 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.17.0.2:root/demoprj.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.
[root@ku8-1 demoprj]# 

结果确认

在gitlab上确认project信息,可以看到刚刚更新的Hello, LiuMiao。 

 

分支操作
创建分支
创建一个名为develop的分支

[root@ku8-1 demoprj]# git branch develop
[root@ku8-1 demoprj]#
确认分支情况,加上default的master分支,就两个,而且master分支前面的*表明当前活动分支为master

[root@ku8-1 demoprj]# git branch
  develop
* master
[root@ku8-1 demoprj]#

分支切换

使用checkout命令可以切换到创建的develop分支

[root@ku8-1 demoprj]# git checkout develop

Switched to branch 'develop'

[root@ku8-1 demoprj]#

确认当前活动分支已经是branch

[root@ku8-1 demoprj]# git branch
* develop
  master
[root@ku8-1 demoprj]# 

当然也可以使用git checkout -b develop实现创建+切换的功能

分支更新

修改README.md到branch分支并push

[root@ku8-1 demoprj]# echo "Information from develop branch" >>README.md 
[root@ku8-1 demoprj]# git add README.md 
[root@ku8-1 demoprj]# git status
# On branch develop
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   README.md
#
[root@ku8-1 demoprj]# git commit -m "for branch"
[develop 4b76d48] for branch
 1 file changed, 1 insertion(+)
[root@ku8-1 demoprj]# git push -u origin develop
Counting objects: 5, done.
Writing objects: 100% (3/3), 285 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: 
remote: Create merge request for develop:
remote:   http://e5091e18d568/root/demoprj/merge_requests/new?merge_request%5Bsource_branch%5D=develop
remote: 
To git@172.17.0.2:root/demoprj.git
 * [new branch]      develop -> develop
Branch develop set up to track remote branch develop from origin.
[root@ku8-1 demoprj]# 

结果确认

push之后可在gitlab上确认相关信息 

 

切换回master
[root@ku8-1 demoprj]# cat README.md 
Hello, LiuMiao
Information from develop branch
[root@ku8-1 demoprj]# git checkout master
Switched to branch 'master'
[root@ku8-1 demoprj]# cat README.md 
Hello, LiuMiao
[root@ku8-1 demoprj]#

merge操作进行合并

[root@ku8-1 demoprj]# git merge develop --no-ff
Merge made by the 'recursive' strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
[root@ku8-1 demoprj]#

合并之后的确认,可以看到合并节点的形成(Merge branch ‘develop’)

[root@ku8-1 demoprj]# git log
commit 23c9620e51dbbce4715ce686e1d4ec48e496c894
Merge: 70dfd04 4b76d48
Author: liumiaocn <liumiaocn@outlook.com>
Date:   Tue Jul 4 05:12:54 2017 -0400

    Merge branch 'develop'

commit 4b76d48f778bbcc8a88c38e65ba6734adbd53580
Author: liumiaocn <liumiaocn@outlook.com>
Date:   Tue Jul 4 04:49:42 2017 -0400

    for branch

commit 70dfd04b7c718318e5926ad5ee963c3573ff8f74
Author: liumiaocn <liumiaocn@outlook.com>
Date:   Tue Jul 4 04:10:56 2017 -0400

    initial
[root@ku8-1 demoprj]#

push操作
push之后就完成了将分支的内容合并回master的全部操作。

[root@ku8-1 demoprj]# git push origin master
Counting objects: 1, done.
Writing objects: 100% (1/1), 218 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@172.17.0.2:root/demoprj.git
   70dfd04..23c9620  master -> master
[root@ku8-1 demoprj]# 
[root@ku8-1 demoprj]# cat README.md 
Hello, LiuMiao
Information from develop branch
[root@ku8-1 demoprj]# 

分支删除
根据2017年DORA的DevOps报告提出的那样,分支尽量会控制在三条以下,其本质则是将持续集成和LeanIT进行扩展,减少中间环节的WIP,尽可能早集成,分支的原则也可以遵循“用后即焚”,删除分支使用–delete即可。

[root@ku8-1 demoprj]# git push origin --delete develop
To git@172.17.0.2:root/demoprj.git
 - [deleted]         develop
[root@ku8-1 demoprj]#
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值