gitlab跟svn的区别我就不多说了,这里直接说具体应用。
建立一个project
先登陆到gitlab的网页,我这里使用了root用户,选择 paradincreate a project
,然后就是填写project的名称以及它所属的用户,这里由于只有root用户,所以这个叫jjfjj
的project就是root自己的,如果建立了一个组的话,那么这里就填写那个组,如下:
下面这个Visibility Level
,就是权限等级,它分三种:
- Private:私有的,只有你自己或者组内的成员能访问
- Internal:所有登录的用户
- Public:公开的,所有人都可以访问
这个东西和project的名称都是可以后期更改的。
然后就是 paradincreate project
,就创建了这个jjfjj。如图:
将本地代码上传
建立好了gitlab,就要把开发的代码传进去,我在另外一个机器里,创建一个目录code,这个目录就是专门用来放置代码的,假设现在里面有一个文件叫 paradintestcode.py
,如图:
具体操作如下: paradin
注意!如果在创建project的时候勾选同时创建README.md的话,第一次提交本地代码需要是git pull origin master
。
如果在两个不同的文件夹里执行上面的过程,会传输到两个不同的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页面,就看到刚刚的那个 paradintestcode.py
已经传上来了。如图:
如果代码有所更改或者出现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 | [root@pass-mixnumbus-001 /GITLAB] # git init #将这个文件夹进行初始化 |
再与gitlab界面的代码比较一下,果然都过来了!如图: paradin
在gitlab上建立分支
gitlab上有很多个分支,主要的分支是master,它也是默认的分支,但是实际工作中是需要其他的开发去新建一些测试的分支,到时候可以先把这些测试的分支拿来部署,如果有问题就回滚回master分支。
分支相关的语句如下:
1 | git branch #查看本地分支 |
这个时候在代码机上新增或者改变文件,然后执行git add .
,git commit -m '这里是要写的注释'
,git push origin develop
,就把新增的变化上传到了develop分支,如图:
1 | [root@iZ23pg8sy5bZ ~/GITLAB(develop)] # git push origin develop |
而在部署的机器上,直接执行git pull origin develop
,输入账号密码之后,就会把develop分支的内容全部垃取下来了。
如果不想要这个develop分支了,就git branch -d develop
,如果要删除远程的分支,就是git push origin :develop
,注意这个冒号。
如果gitlab的地址发生了改变,那么在git pull
之前需要git remote set-url origin 新的git地址
,不过设定完毕之后,免输账号密码的效果会消失。
在windows里使用gitlab
首先先安装git,然后在目标文件夹里点击右键—Git Bash Here
,在命令行里输入git clone 远程目标.git
。同时在project页面里的develop分支(开发分支)里新开一个分支比如叫feature/chenshuo
。待目标全部下载完毕之后,cd到代码文件夹里:
1 | git branch -a #此时应该是master分支 |
如果在git clone那一步密码输入错误了,可以在我的电脑
–控制面板
–用户账户
–管理您的凭据
里面修改。
普通用户访问docker
让普通用户访问docker的方法其实就是把该用户添加到docker组里即可。
先切换root用户给予普通用户(比如叫lcshop)免sudo权限:使用sudoedit /etc/sudoers
添加这样的语句:
1 | lcshop ALL=(ALL) ALL |
然后还是root状态下,执行gpasswd -a lcshop docker
,将lcshop添加到docker组里,此时应该若反馈Adding user lcshop to group docker
则添加成功。
然后就是重启一下docker进程,同时lcshop也重新连接ssh,此时lcshop就可以正常使用docker ps -a
等命令了。若要查看某个用户组下有哪些用户,可以通过grep '组名' /etc/group
获取。
参考资料
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