GitHub、GitLab 等平台支持通过提交信息中的特定关键词自动关闭 Issue,例如关闭掉 Issue #789:
git commit -m "Fix typo. Fixes #789"更具体一点,在 GitHub 中,以下关键词会自动关闭关联的 Issue:
close, closes, closedfix, fixes, fixedresolve, resolves, resolved但是如果只是想关联或提及某个 Issue,而不希望它被自动关闭,可以仅提及 Issue 编号。例如:
git commit -m "Add user login validation. Related to #123"这样,提交会链接到 Issue #123,并在该 Issue 的时间线中显示此提交,但不会关闭它。
GitHub、GitLab 等基于 Git 的代码托管平台所提供了一套 Issue 跟踪系统(Issue Tracking System),可以用来协作管理项目中的“事项”。把 Issue 理解为一个任务卡片或问题工单,可以用来:
Git提交关联到 Issue 是 GitHub 等代码托管平台的自带功能。如果要实现在代码提交后进行更加复杂的操作,那么可以使用 Git 钩子(Git Hooks)。Git 钩子是 Git 提供的一套事件回调机制,允许你在 Git 操作的特定阶段(如提交前、推送后等)自动执行自定义脚本。例如:
这项技术在代码管理中非常有用,有时间再进行进一步研究。