目前版本库主流gitlab,github,gitee,第三方代码管理平台,还有svn。
gitlab占比还是很高的,对于系统开发,但是命令使用都是大同小异,svn管理文档比较多一点。
今天我们以gitlab作为代码版本管理:
我们这里采用docker 安装gitlab,主程序员可以新建项目,管理代码权限,用户只需要注册即可,然后管理员赋予项目权限即可进入开发。
gitlab页面还是好看;
按照管理员创建gitlab项目。
我们创建的项目:
这里的命令就是代码目前仓库没有项目,我们根据选择指定上传项目,我这里
http://56508be04f43/root/cloud-test.git 中间是容器id,实际上应该是ip和端口,修改gitlab配置即可。
命令行指令
Git 全局设置
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
创建新版本库
git clone http://192.168.192.137:8088/root/cloud-test.git
cd cloud-test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
已存在的文件夹
cd existing_folder
git init
git remote add origin http://192.168.192.137:8088/root/cloud-test.git
git add .
git commit -m "Initial commit"
git push -u origin master
已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
git remote add origin http://192.168.192.137:8088/root/cloud-test.git
git push -u origin --all
git push -u origin --tags
我们使用gitbash工具执行代码上传
命令执行直接把gitLab拿过来:
已存在的文件夹
cd existing_folder
git init
git remote add origin http://192.168.192.137:8088/root/cloud-test.git
git add .
git commit -m "Initial commit"
git push -u origin master
第一次需要输入密码,我们可以全局设置用户名和邮箱。
执行完成:
操作完我们项目就可以显示我们提交的代码版本了。
ssh方式代码处理方式:
git@56508be04f43:root/cloud-test.git
配置ssh密码:
ssh-keygen
找到生成的路径秘钥:
复制到git账号setting设置里面:(记住是pub文件,对称加密生成的文件)
这样我们就可以通过ssh方式push代码了。
本地创建分支:
git branch xiaoyang
克隆指定分支
git clone -b xiaoyang_dev
查看远程分支
git branch -r
切换分支:
git checkout xiaoyang
删除本地分支:
git branch -d xiaoyang
删除远程分支:
git push origin --delete deb
推送代码到远程master
git pull origin master(一般开发没有主分支权限)
提交代码到指定分支
git add .
git commit -m "提交什么代码"
git push origin xiaoyang_dev
gitlab不小心 pull导致代码没有,或者强制合并分支导致代码丢失如何解决:
git reflog
查看指定版本信息:
回退上一个版本:
git reset --hard HEAD
回退指定版本:
$ git reset --hard d822225
分支合并,我们可以通过gitlab merge request 发起合并分支请求,管理员进行分支代码合并。
这里我们使用信息进行提交,上面显示版本信息,一般指派给管理员进行分支合并。
这里显示我们版本合并成功。
这里查看信息信息,我们代码的分支合并就成功了,然后通过我们的jenkins进行持续集成即可。
gitlab操作就完成了,完成以上命令使用和操作基本可以完成很熟悉的代码管理了。