Git中经常遇到的Issue,WebHooks,Fork,Pull Request都是什么

65 阅读2分钟

本节课会学习下使用Git过程中,经常会出现的其他的名词

Issue

issue中文可以翻译为‘事务’,指的是项目待完成的工作,在开源项目中应用很多,但在企业实际开发流程中,可能应用较少。issue在项目中可以承担用户反馈的作用,用户可以在这个地方提出bug反馈与优化建议,也可以为开发者服务,用于记录待完成的任务。每个issue可以包含该问题的前因后果,对于不了解项目的人员,整理的好的issue列表也有助于把握项目的优化内容。一般来说,可以包含以下类型:

  • 软件的bug
  • 功能优化建议
  • 待完成的任务

另外,现在很多人还会拿github的issue来做博客。

WebHooks & git hooks

Hooks就是钩子,指当某些事情发生时,可以指定执行某些方法。

git hooks是那些在Git执行特定事件(如commitpush等)后触发运行的脚本,钩子是可以放置在挂钩目录中的程序,可在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 hookswebhooks,就可以构建出我们的CI/CD流程。

Fork & Pull Request

在github中,我们的代码工作流有点不一样。比如项目A叫ProjectA ,我们想参与维护,并不是直接clone这个仓库的地址。而是先把ProjectA fork到我们自己的仓库中。在我们自己的仓库中完成修改和提交。再通过Pull Request请求合并回ProjectA。