目录
Git 相关流程和常用命令
Git workflow
Git hooks
Git 相关流程和常用命令
Git远程操作详解 - 阮一峰的网络日志
Git 使用规范流程 - 阮一峰的网络日志
常用 Git 命令清单 - 阮一峰的网络日志
Git workflow
啥玩意:
就是一个工作流程。可以比喻成一个河流,有不同的分支,然后可以汇聚成一个分支
Git flow(最常用的flow):
两个特点:
1.存在两个长期分支:
- 主分支
master:用来发布的
- 开发分支
develop:日常开发的
2.存在三个短期分支:
- 功能分支(feature branch)
- 补丁分支(hotfix branch)
- 预发分支(release branch)
Github flow(也经常用):
只有一个长期分支master
第一步:根据需求,从master
拉出新分支,不区分功能分支或补丁分支。
第二步:新分支开发完成后,或者需要讨论的时候,就向master
发起一个pull request(简称PR)。
第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家一起评审(review)和讨论你的代码。对话过程中,你还可以不断提交代码。
第四步:你的Pull Request被接受,合并进master
,重新部署后,原来你拉出来的那个分支就被删除。(先部署再合并也可。)
就像提交pull request,然后如果review。如果review 通过就可以合并起来了。
Reference:
Git 工作流程 - 阮一峰的网络日志
Git hooks
在Git
里也有钩子,我们常听说的一些工程化操作,比如CI里的打包啊,自动部署啊都是拜hooks
所赐,有了钩子之后,能让自己的脚本嵌入到Git
生命周期中。
利用它,可以
- 执行单元测试
- 检查代码
- 执行代码格式化
- 代码提交后自动部署
- 其他软件工程化所需要的操作
Git 上面本身就有一些Hook的样例。
就是在git里头,执行每一个操作前运行一遍相应的script。
假设commit时,pre-commit hooks会被自动调用,比如说使用eslint检查有无code 问题,unit test 之类的东西。
Reference: √了没?—— 介绍Git Hooks - 知乎