Git使用经验总结9-Git提交关联到Issue
1. 问题GitHub、GitLab 等平台支持通过提交信息中的特定关键词自动关闭 Issue例如关闭掉 Issue #789git commit -m Fix typo. Fixes #789更具体一点在 GitHub 中以下关键词会自动关闭关联的 Issueclose,closes,closedfix,fixes,fixedresolve,resolves,resolved但是如果只是想关联或提及某个 Issue而不希望它被自动关闭可以仅提及 Issue 编号。例如git commit -m Add user login validation. Related to #123这样提交会链接到 Issue #123并在该 Issue 的时间线中显示此提交但不会关闭它。2. IssueGitHub、GitLab 等基于 Git 的代码托管平台所提供了一套 Issue 跟踪系统Issue Tracking System可以用来协作管理项目中的“事项”。把 Issue 理解为一个任务卡片或问题工单可以用来报告 Bug缺陷。例如用户或开发者发现程序有问题可以开一个 Issue 描述出现什么错误如何复现期望 vs 实际行为提出新功能。希望项目增加某个功能开个 Issue 讨论可行性。跟踪任务进度。团队可以用 Issue 拆分开发任务分配给成员设置标签、里程碑、截止日期等。讨论设计或技术方案。在写代码前先开 Issue 讨论架构、API 设计、依赖选型等避免返工。文档改进、依赖更新、CI 配置等杂项。任何需要“被记录和完成”的事情都可以是一个 Issue。3. 钩子Git提交关联到 Issue 是 GitHub 等代码托管平台的自带功能。如果要实现在代码提交后进行更加复杂的操作那么可以使用 Git 钩子Git Hooks。Git 钩子是 Git 提供的一套事件回调机制允许你在 Git 操作的特定阶段如提交前、推送后等自动执行自定义脚本。例如提交代码后自动发邮件通知团队推送代码到服务器后自动部署提交前检查代码格式或运行测试不通过则阻止提交