我如何自动化关键跟踪器&Gizub集成?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

枢轴跟踪器和Gizub具有很好的集成性:一旦设置好了它,以枢轴跟踪器ID为前缀的每个提交都会自动出现在相应的枢轴票下面,例如:

git commit -am '[#1234567] my new changes'
git push origin

将自动添加评论‘我的新变化’到1234567的关键票证与GitHub提交链接。

但是,每次都很容易忘记添加票证ID。如何简化/自动化?

提问于
用户回答回答于

解决方案是使用Git-Hooks和特性分支。(推荐使用Gizub流)。

必须安装这个Git-Hook(将文件复制到本地存储库):

https://github.com/ktamas77/git_hooks

在开始处理特定的枢轴票证之前,创建一个以枢轴跟踪器ID为前缀的分支,例如:

git checkout 1234567_build_new_form

然后,按照通常的做法添加所有更改:

git commit -am 'form added'
git commit -am 'styles added'
git push origin

将看到,git钩子脚本将自动从功能分支名称中提取关键跟踪器ID,并将其添加到每个注释的前面。如果需要,仍然可以手动重写它(使用另一个ID)。

这样,就不必担心手动添加每个提交的关键ID。它还可以使用GUI(比如gitTower),因为这些GUI使用的是标准的git库/可执行文件。

用户回答回答于

下面是一个基于Tamas解决方案的简单shell版本。它从分支名称的末尾获取ID。

“我的特性-分支-12345678”=>“我的提交mssg”#12345678“

移动到.git/hooks/pre准备-COMMIT-msg并使其可执行:

#!/bin/bash
if story_id=`git branch | grep -oP '^\*.*\-\K[0-9]+$'`
then
  echo "[#$story_id]" >> "$1"
fi

扫码关注云+社区