Gitlab的简单应用

gitlab跟svn的区别我就不多说了,这里直接说具体应用。

建立一个project

先登陆到gitlab的网页,我这里使用了root用户,选择create a project,然后就是填写project的名称以及它所属的用户,这里由于只有root用户,所以这个叫jjfjj的project就是root自己的,如果建立了一个组的话,那么这里就填写那个组,如下:
paradin

下面这个Visibility Level ,就是权限等级,它分三种:

  1. Private:私有的,只有你自己或者组内的成员能访问
  2. Internal:所有登录的用户
  3. Public:公开的,所有人都可以访问

这个东西和project的名称都是可以后期更改的。

然后就是create project,就创建了这个jjfjj。如图:
paradin

将本地代码上传

建立好了gitlab,就要把开发的代码传进去,我在另外一个机器里,创建一个目录code,这个目录就是专门用来放置代码的,假设现在里面有一个文件叫testcode.py,如图:
paradin

具体操作如下:
paradin

如果在两个不同的文件夹里执行上面的过程,会传输到两个不同的project里。说明一下上面几个命令的意思:
git init:初始化git仓库
git add .:添加整个目录里的所有文件到仓库
git rm --cached 某个文件名:将某个文件从gitlab上撤除,如果想当前文件夹恢复成一个普通的文件夹,那就把文件夹路径下的.git文件删除掉即可
git commit -m '这里是要写的注释':提交代码到仓库
git remote add origin +gitlab的地址(上上图里红色框的内容):链接到gitlab服务器
git push origin master:push代码到服务器
git remote -v:查看当前文件夹的目标project

此时刷新一下gitlab的project页面,就看到刚刚的那个testcode.py已经传上来了。如图:
paradin

如果代码有所更改或者出现Everything up-to-date,那么就按顺序执行git add .git commit -m '这里是要写的注释'git push origin master即可。

免密码push代码

在上面的git push origin master的时候需要输入gitlab的用户密码,如要需要免密码push,有两种方法。

第一种方法是ssh,请看 https://blog.whsir.com/post-1749.html/comment-page-1#comment-3425

第二种方法是用http的方式传送,先打开.git/config这个配置文件,修改url = http://账号:密码@以.git结尾的项目地址,保存之后重新去执行git add .git commit -m '这里是注释'git push origin master,就不再需要输入密码了。

从gitlab上垃取代码

在要部署的机器上找到要部署的文件夹,我这里用/gitlab为例,操作如下:

1
2
3
4
5
6
7
8
9
10
[root@pass-mixnumbus-001 /GITLAB] # git init        	#将这个文件夹进行初始化                                             
Initialized empty Git repository in /GITLAB/.git/ #提示现在已经安装了.git文件
[root@pass-mixnumbus-001 /GITLAB(master)] # git remote add origin http://114.55.224.158/root/JJFJJ.git #确定库
[root@pass-mixnumbus-001 /GITLAB(master)] # git pull origin master #制定要把master分支的代码全拉取到这个文件夹里
Username for 'http://114.55.224.158': root #输入账号和密码
Password for 'http://root@114.55.224.158':
From http://114.55.224.158/root/JJFJJ
* branch master -> FETCH_HEAD
[root@pass-mixnumbus-001 /GITLAB(master)] # ls #看一下效果
admin.py looksql.py models.py syncECS.py testsyncECS.py

再与gitlab界面的代码比较一下,果然都过来了!如图:
paradin

在gitlab上建立分支

gitlab上有很多个分支,主要的分支是master,它也是默认的分支,但是实际工作中是需要其他的开发去新建一些测试的分支,到时候可以先把这些测试的分支拿来部署,如果有问题就回滚回master分支。

分支相关的语句如下:

1
2
3
4
5
6
git branch	#查看本地分支
git branch -r #查看远程分支
git branch -a #查看所有分支
git branch develop #本地创建新的分支,此时刷新gitlab的页面的话就会有这个叫develop的分支建立了
git checkout develop #切换到新的develop分支
git checkout -b develop #上面两步可以合成一个命令,这个的意思就是:创建+切换分支

这个时候在代码机上新增或者改变文件,然后执行git add .git commit -m '这里是要写的注释'git push origin develop,就把新增的变化上传到了develop分支,如图:

1
2
3
4
5
6
7
8
9
10
11
[root@iZ23pg8sy5bZ ~/GITLAB(develop)] # git push origin develop
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 325 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: To create a merge request for develop, visit:
remote: http://114.55.224.158/root/JJFJJ/merge_requests/new?merge_request%5Bsource_branch%5D=develop
remote:
To http://114.55.224.158/root/JJFJJ.git
fc8d456..8a97b58 develop -> develop

而在部署的机器上,直接执行git pull origin develop,输入账号密码之后,就会把develop分支的内容全部垃取下来了。

如果不想要这个develop分支了,就git branch -d develop,如果要删除远程的分支,就是git push origin :develop,注意这个冒号。

参考资料

https://blog.cnbluebox.com/blog/2014/04/15/gitlabde-shi-yong/
https://zhang759740844.github.io/2016/08/27/git%E6%8A%80%E5%B7%A7/
https://www.restran.net/2016/02/23/git-and-gitlab-guide/
https://www.jianshu.com/p/f54053afecf2

-------------This article is over!Thanks for reading!-------------
感谢您请我喝咖啡!(o´ω`o)
0%