gitlab和gitee、github使用起来没有太大的区别
新入职接触到它真的很开(cao)心(dan),使用起来也很开(cao)心(dan),但是它为必备技能。
总的来说使用gitlab有:1.安装git 2.配置SSH密匙 3.gitlab的使用
使用分为:1.从gitlab上拉取 2.添加.提交.推送到gilab 3.分支的使用
文章目录
相关基础知识
电脑配置
一般直接选择HTTP协议进行Clone,就不用进行SSH的配置了
若要使用SSH协议进行Clone,则需要进行 SSH配置
对于公司独有的服务器,可能还需要配置Host
Git管理工具
可以直接使用Vs自带的Git进行管理,Vs2019已经做了很棒的Git管理,可以不用下载Sourcetree
可视化工具Sourcetree下载地址 ,安装参考
gitlib与Sourcetree的使用教程1,教程2
git基础
submodule(子模块)
开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。有了git submodule命令,问题就迎刃而解了。
权限
对于私有的项目,没有权限是拉取不了的,当然子模块的权限也要有才能拉取完整。
拉取
有很多需要注意的点
- 1.对于一个项目有很多子模块,直接拉取可能拉取不到
- 2.一个项目可能使用到了第三方库,是 需要权限才能拉取的
- 3.可能遇到大文件拉取不到的情况(也就是大文件拉取后只有1kb)
从分支上拉取代码,git clone -b develop XXX
对于过大的文件,直接拉取可能拉取不到, 使用git lfs pull ,重新拉取
提交
提交指定文件
提交更改
使用 git add 命令将想要快照的内容写入缓存区, 而执行 git commit 将缓存区内容添加到仓库中。
# 方法1
git add hello.cpp
git commit -m ‘第一次版本提交’
git push -u origin master
# 方法2
git commit -a -m ‘Readme changed’
git push -u origin master
需要注意的点
- 1.多人合作进行一个项目时不会去操作一个文件,也就是避免会出现合并冲突的情况
- 2.add commit push 的使用
分支
需要注意的点
- 1.在分支上的提交需要合并到master时要去gitlab上进行合并请求
- 2.master分支只有创建人才可以提交,想要提交需要自己先创建分支
- 3.将一个提交提交到指定分支
gitlib分支的使用创建本地分支,进行修改提交
#本地分支不存在于远端,需要用如下命令创建本地分支与远端仓库的链接,如下命令直接在远端创建本地分支并提交本地分支内容
git push --set-upstream origin dev //dev为创建分支的名字
fork
分支合并
- git checkout切换至master分支,并git pull
- 在master中进行如下操作,将test分支合并至master
git merge test- 解决冲突,git add 文件,git common -M "note"提交备注,git push推送至远端
删除分支
- 仅删除本地分支branch_test
注意要切换到非branch_test才可以删除branch_test分支git branch -d branch_test git branch -D branch_test #强制删除
- 如下命令在本地可删除远程分支
git push origin --delete your_branch
补丁
版本回退
- 使用
git log
查看提交的版本信息,版本号 - 使用
git revert -n VersinNumber
覆盖指定版本到本地 - 再使用push流程推送到云端
gitlib常用命令
git clone -b branchname http:/… --recursive | #拉取指定分支的代码 |
git clone [url] | 克隆并拉取所有文件 |
git pull | 从远程获取代码并合并本地的版本 |
git submodule update --init --recursive | 拉取子模块 |
git lfs pull | 拉取大文件 |
git checkout | 检查工作区相对于版本库的修改,并查看当前分支 |
git checkout zhangsan | 切换到zhangsan分支 |
git branch lisi | 新建lisi分支 |
git checkout -b lisi | 新建并切换到lisi分支 |
git commit -a -m ‘Readme changed’ | 提交这个更改 |
git push -u origin first-branch | 推送分支到gitlib服务器 |
git merge lisi -no-ff | 合并lisi分支到master(需要在master分支下操作) |
git push origin --delete lisi | 删除lisi分支(需要在master下操作) |