一、前言
在CI/CD中编码管理及版本控制是必不可少,目前常用的管理工具就属git与svn
svn像去图书馆去借书,进去拿到一本书,去前台办借书登记,然后还回来
svn每个人都得从中央服务器拉代码,如果网断了,就没法提交和更新了
git像去图书馆借书,我是在边上的复印机复印一遍,然后我再放回去,别人在借书,可以去图书馆借,也可以自己复印一遍,或者可以拿走我手里那一本
git每个人都能充当代码的服务器,别人可以从服务器克隆,也可以从你这儿拉代码
二、安装部署:
1、安装/开启SSH
https://about.gitlab.com/install/ 官网也有安装步骤
sudo yum install -y curl policycoreutils-python openssh-servercronie
安装和开启ssh服务,如果不开这个,客户端想拉gitlab代码的时候走不了ssh
service sshd start 开始ssh服务
2、下载gitlab
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/?C=M&O=A rpm包镜像下载
离线安装命令 EXTERNAL_RUL 必须指定 也可以用虚拟机的ip 也可以127.0.0.1
sudo EXTERNAL_RUL="127.0.0.1" yum localinstall gitlab-ce-13.0.0-ce.0.el7.x86_64.rpm
3、初始化加载所有配置
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
执行reconfigure报错有可能会报如下错误,是因为需要升级glibc到2.14
错误/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.6)
glibc镜像包下载 http://ftp.gnu.org/gnu/libc/
如果报2.14 解决见 :https://blog.csdn.net/hudashi/article/details/82622935
如果还报更高版本的错误 解决见:https://blog.csdn.net/f0UiRe/article/details/88736755
三、Git日常操作
1、git init 初始化仓库(到本地工作目录)
git status -s 列出当前仓库下所有文件状态 ??代表这个文件在git仓库里没有被跟踪和管理
2、git add . (到本地暂存区)
递归增加当前路径下所有的文件 也可以指定文件名添加 A已暂存一个新增文件
如果这时修改readme的内容,再查看状态会出现一个M,这时代表文件再次修改,但还没提交暂缓区,需要再执行add .
3、git commit -m "首次提交文件" (到本地仓库)
成功进入本地库
4、git push(到远程仓库)
push前准备的操作,配置名字和邮箱
git config --global user.name "liucong"
git config --global user.email "[email protected]"
PS:
github克隆的时候不需要用户名密码,因为是公共的,但是提交的时候需要,因为没有给配置提交权限
gitlab克隆的时候需要用户名密码,私有的
远程仓库推送
git push origin master 一般都叫原生库 origin master主分支
5、撤销与修改
5.1、仅限工作区内的回退
git checkout --readme.txt
git clean -f 工作区内的所有文件会退到修改前状态
5.2、仅限暂存区内的回退
git reset --hard HEAD <file> HEAD获得,可以通过git log命令能看到一行哈希散列加密值
5.3、远程仓库回退 一般是运维操作
PS:5.1~5.3步骤一步比一步回退要繁琐,只要在本地仓库回退都是很方便的,但同步到远程仓库回退就危险,一般部门leader、运维操作
四、GitLab配置SSH
tcp与ssh
tcp需要三次握手,ssh需要十几次握手
tcp好比乡村小路,ssh好比修建完善的公路,有隔离带、有斑马线
如果ssh拉取需要先粘贴公钥
没有公钥,需要手动生成.ssh ssh-****** -t rsa
五、本地仓库更换绑定的远程仓库
方法一 通过命令直接修改远程地址
- 进入git_test根目录
- git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址
- git remote set-url origin http://192.168.100.235:9797/john/git_test.git
方法二 通过命令先删除再添加远程仓库
- 进入git_test根目录
- git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址
- git remote rm origin
- git remote add origin http://192.168.100.235:9797/john/git_test.git
方法三 直接修改配置文件
- 进入git_test/.git
- vim config