本节课会学习下使用Git过程中,经常会出现的其他的名词
Issue
issue
中文可以翻译为‘事务’,指的是项目待完成的工作,在开源项目中应用很多,但在企业实际开发流程中,可能应用较少。issue
在项目中可以承担用户反馈的作用,用户可以在这个地方提出bug反馈与优化建议,也可以为开发者服务,用于记录待完成的任务。每个issue
可以包含该问题的前因后果,对于不了解项目的人员,整理的好的issue
列表也有助于把握项目的优化内容。一般来说,可以包含以下类型:
- 软件的bug
- 功能优化建议
- 待完成的任务
另外,现在很多人还会拿github的issue来做博客。
WebHooks & git hooks
Hooks
就是钩子,指当某些事情发生时,可以指定执行某些方法。
git hooks
是那些在Git执行特定事件(如commit
、push
等)后触发运行的脚本,钩子是可以放置在挂钩目录中的程序,可在Git执行的某些事情时触发动作。没有设置可执行位的钩子将被忽略。钩子脚本一般会放在主项目的.git/hooks
目录中,在项目初始化时,.git/hooks
中就有了各个钩子的案例,用于参考。
比如我们在commit
代码前,要做一个代码校验的动作,就可以配置pre-commit
的钩子,在这个钩子中做新提交代码的格式校验。
WebHooks
是你push
代码时,远程可以根据你的push
,往某个地址发送一个请求。比如,你push
了某个分支的提交,你希望能往项目群自动发一个“分支xxx有新的代码推送”消息,方便别人更新。就可以利用WebHooks
。
拿gitee举例,在项目的设置中找到Webhooks
,添加一个WebHook
,可以指定Push
事件,Tag Push
事件,Issue
事件等。
CI/CD
CI/CD
的核心概念是持续集成、持续交付和持续部署。软件开发过程中,我们需要不断的提交代码,合并代码。在这个过程中,会出现持续的构建,部署,发布。构建部署发布这些动作,会交给系统,自动化处理掉。
那么利用git hooks
和webhooks
,就可以构建出我们的CI/CD
流程。
Fork & Pull Request
在github中,我们的代码工作流有点不一样。比如项目A叫ProjectA ,我们想参与维护,并不是直接clone
这个仓库的地址。而是先把ProjectA fork
到我们自己的仓库中。在我们自己的仓库中完成修改和提交。再通过Pull Request
请求合并回ProjectA。