【问题标题】:Adding extra parameter to git commit向 git commit 添加额外参数
【发布时间】:2011-12-01 19:44:03
【问题描述】:

我们有一个定制的系统来跟踪客户的任务/项目。我们手动添加一个清单并将它们标记出来,通常还会添加每个点所花费的时间。这非常有用,但有点多余,因为我们也在 git 中提供了相同的信息。所以我正在考虑以某种方式向 git 添加一个额外的参数,让我可以指示某件事花费了多长时间,然后提取这些数据并将其保存在数据库中(我们通常使用 PHP/MySQL)。怎么办?

我想这样做:

git commit -m "Adding search functionality" 15

然后以某种方式能够提取 15(分钟)以稍后处理它,以及此任务的描述,这样我们就不必添加单独花费 15 分钟的“添加搜索功能”。我正在考虑一个钩子,它接受第二个参数并将其用作要传递给 PHP 脚本的变量。这可行吗?

【问题讨论】:

  • 您还可以在 Git 注释本身中使用某种类型的标记项。类似于“我的签到评论 TIME-DEV=15min”。然后在每次提交时解析签入消息并进行更新。

标签: git githooks git-commit


【解决方案1】:

您可以将自定义参数集成到提交消息本身中,然后再对其进行解析

git commit -m "foo [15min]"

或许

git commit -m "bar [00:00:15]"

现在很容易找到[] 并解析其中的值。

Github、redmine、bitbucket(等等)在将提交链接到问题时会做类似的事情,反之亦然

git commit -m "Fixed bug [Closes #42]"

无论如何,您应该考虑使用真正的错误/问题跟踪器而不是“清单”。

【讨论】:

  • 有趣!但是你以后如何解析它们呢?如何访问这些参数? [对不起,对 git 很陌生]
  • +1。最好将命令嵌入到 git 注释本身中。然后您的集成只需解析git log --oneline 的输出并遵循您嵌入的命令。
  • +1 用于建议真正的错误跟踪,这是软件开发所需的两个基本项目之一(另一个是 SCM)。
  • 谢谢,git log --oneline 听起来非常适合导出此信息!
  • 我会小心在提交主题中这样做。那些简短的东西很好,所以为样板占用空间很烦人,特别是如果它以后可能会扩展。如果您也要求它在正文中单独一行,则解析会更加健壮,例如fixed the frobotz\n\nit was fribbitzing\nbugid: 45\n...(对嵌入的换行感到抱歉)
【解决方案2】:

通常这些东西被添加到提交消息本身,然后被提取(钩子、脚本、错误跟踪器等)

你也可以看看使用git notes(你甚至可以在不重写现有提交的情况下添加它们),但唯一的问题是共享它们,这不是很简单。

http://progit.org/2010/08/25/notes.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多