【问题标题】:Automating git commit message per branch自动化每个分支的 git 提交消息
【发布时间】:2011-09-14 08:03:32
【问题描述】:

我一直发现自己忘记在我的提交中添加 refs #ticket。这是一种痛苦。我通常每张票至少使用一个分支,或者至少一张票可能有多个分支,但通常不会反过来。

所以我正在考虑添加一个 branch.ticket 配置选项,然后从可能的 prepare-commit-msg 中检索它并将“refs #”添加到我的消息中。

也许在这完成之后,当我创建一个新分支时,甚至添加一个钩子或别名来请求#ticket。

有人可以帮我建造这些吗?我是 git 的新手,也不是 bash 大师,但如果指向正确的方向,我可以弄清楚。

现在,我想我得打电话了

git config --add branch.<branchname>.ticket <ticketnumber>

然后做类似的事情

prepend `git config branch<branchname>.ticket` $file

基本上。我想。 任何人都可以证实这一点?并告诉我如何获得 ?

【问题讨论】:

  • 不是一个真正的答案,但我喜欢 git 让您修改先前提交的方式,以防您忘记或输入错误的内容(例如提交消息)。

标签: git bash


【解决方案1】:

这听起来不错。您可以使用git symbolic-ref HEAD 获取当前分支名称(如果有的话)。

您可能想切断/refs/heads/。我在提示脚本中使用它:

local branchname=$(timeout 1s git symbolic-ref HEAD 2> /dev/null | cut -b 12-)

然后检查是否为空字符串。

【讨论】:

  • 您能否解释一下或指出我在哪里得到解释的 -b 12- cut 参数?
  • cut -b 12- 忽略输入的前 12 个字节
  • 我就是这么想的..这不是有点限制吗?分支 syimref 名称不能不同吗?
【解决方案2】:

我相信你走在正确的轨道上

获取当前分支的方法有很多:

git branch | grep '^*' |sed s/\*\ //

或者使用git symbolic-ref HEAD获取/之后的最后一部分

【讨论】:

    猜你喜欢
    • 2011-09-16
    • 1970-01-01
    • 2023-04-11
    • 2019-07-14
    • 1970-01-01
    • 2021-06-26
    • 2020-05-15
    • 2011-11-06
    • 2013-01-16
    相关资源
    最近更新 更多