git在日常开发中扮演着一个很重要的角色,但是很多同学对git本身认知不够,日常都是依赖各种可视化工具,个人觉得这不是长久之计。尝试使用git命令抛弃对可视化工具的依赖,岂不是很酷,久而久之对git的使用也会更得心应手。
一、常用命令
1、config
每一次更新git或者配置环境的时候都要搜多的代码
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
2、clone
git clone '项目git地址'
需要注意的就是clone命令 + 名称 就可以重新命名项目名称。
git clone '项目git地址' newProjectName
3、add
添加到储存库
git add 'fileName'
git add *
4、commit
保存到本地分支
git commit -m 'message'
5、push
推送到远程分支
git push origin 'branch'
6、branch
查看本地分支
git branch
7、fetch
从指定分支更新代码
git fetch branch
8、pull
拉取当前分支最新代码
git pull
9、merge
从指定分支合并代码到当前分支(最常用)
git merge branch
10、checkout
切换到指定分支
git checkout branch
git命令速查:
![](https://markdownimg-1313808923.cos.ap-chengdu.myqcloud.com/csdn/Git%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%92%8C%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86/git.png)
二、提交规范
git提交代码的时候需要填写描述,在平时的开发中如果没有约束,那么这个描述最多的可能就是123了。如果在经过了多次的代码提交后,测试环境出现问题。我们debug这个问题的时候就会异常困难。假如在提交代码的描述中能总结这次提交的核心信息,那对我们排查问题的帮助还是非常大的。
提交类型:
目前最常见的分类有:样式、功能、bug修复、优化等,如果提交都标明提交类型,那么测试的同学就知道本次测试的重点了
提交时间:
记录下时间
提交描述:
可以写更新的一些重要信息
三、开发场景解析图解(分支管理)
![](https://markdownimg-1313808923.cos.ap-chengdu.myqcloud.com/csdn%2FGit%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%92%8C%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86%2Fgit2.png)
1、功能分之:
数据来源: master
我们从产品拿到一个需求,从当前生产环境分支(master) clone到本地。分支名称标注功能点,预防有多个需求同时进行的时候出错。 在本地完成产品功能后merge到测试环境。多个功能分之互不干扰、互不冲突。功能分支在上线完成后要及时删除。
2、测试环境:
数据来源: 多个功能分支
测试分支是已完成产品功能的组合体,数据来源多,更新较为频繁。当多个功能分支有交叉代码时容易出现代码冲突,谨慎处理,保证测试环境正常运行。
3、预生产环境:
数据来源: 测试分支
预生产环境环境代码运行较为稳定,是发布生产环境的最后一个屏障,所以要严格控制代码的操作/合并,建议增加merge权限, 即 开发人员请求测试环境 merge to stage -> 组长确认 -> merge 成功 -> 发布预生产环境。 这样能严格保证预发环境代码/功能的真实性, 确保发布生产环境不会出现问题。
4、master/生产环境:
数据来源: 预生产环境
当发布新版本到生产环境的指令下达后,由开发组长从master分支合并代码到备份分支,
再从预生产环境环境合并代码到master分支,发布项目。
5、备份分支:
数据来源: master
每次发布生产环境代码时,从master合并代码,注明版本号、时间等信息。