GIT
分布式代码仓库,知名有国外的github(已被微软收购)、gitee(开源中国),自己可以用gitlab来搭建内网的仓库。svn需要一台中心机器作为仓库,所有人都修改同一个仓,而git是分布式的,每台装了git的电脑都有本地master分支,只是为了统一代码,就都传到系统统一管理。
代码的拉取和提交
首先下载代码
git clone xxxx
代码下载了,需要更新代码
git pull
pull后如果和本地的commit有冲突,则先暂存目前的改动
git stash
pull成功后弹出暂存,把刚刚自己敲的代码再和最新代码合并
git stash pop
有些新文件要先加入git的管理
git add
开始提交代码,写上自己的注释,这波代码提交干了啥
git commit -m
合并提交,让一个提交更加纯粹,学名 变基
git rebase
分支操作
创建分支
git checkout -b
查看分支
git branch
切换分支
git checkout xxx
合并分支
新特性的分支合入master
// 1.先切到master
git checkout master
// 2. 合入新特性分支
git merge newfuture
标签
标签的意义在于重要节点,比如上线、切分支等等需要标记的地方上设置标签
创建标签
git tag -a v1.0
查看标签
git tag
查看命令
看看改了啥
git status
看看日志
git log
俺常用的可视化工具
小乌龟
idea
分支管理,右下角
每行操作记录:右键点击Annootate,都跑不了
日常操作在这,或者对文件点击右键也可
vscode
源代码管理
可以看到修改的文件
三个小点可以快速操作git
左下角展示分支,并且点击后可切换分支
基于gitlens,可以查看每行的作者及提交记录
左侧蓝色标记,点击后可以选择提交行或者回退行的记录
规范
设置commit信息规范
每次的代码提交都很重要,留下清晰的信息更有利于项目的管理和突发情况,比如紧急回退。一般模板有
TicketNo: 需求单号
Description:描述
其中描述又可以分为 「fix:」修复、「bug:」修改bug、「feat:」新特性三种。
// 1 . 新建一个文件,内容为模板,如xx.txt
// 2. 设置git模板路径指向该文件,其中路径需自己补充
git config --global commit.template ../../xx.txt
代码审批
并不是所有的弟弟都能提交之 gerrit
审批才能通过哦~
代码门禁
MR时,会先把代码进行一次CI,如果没通过,则这次合并失败。所谓的门禁其实就是对当前代码审核。不符合标准,同样也不能合入代码。