4

git 是否有任何官方语法可以插入到提交消息中以引用以前的变更集?例如:

Oops. Adding files accidentally missed out from #7557bd82e2d0c7335319392b4bcb178ce0b9620f

还是 Git 不费心定义这些,而将其留给用于显示消息的工具(例如GithubAssembla)?

在这种情况下,有谁知道 Assembla 是否有任何这样的语法,希望将引用转换为指向该变更集的链接?如果 GitHub 有这方面的语法,那么 Assembla 可能会复制它们......

4

2 回答 2

4

在 Git 中,没有“先前提交”之类的东西。在给定点有一个先前的提交,但是在合并之后,一个新的提交可能会来到分支并插入到“当前提交”和“先前的提交”之间。

但是,Assembla可以链接到 git 变更集日志中的特定提交。如果您知道要链接到的确切 sha 或 HEAD,则可以使用 Assembla 的标记:

这里有些例子:

[[r:c27dbd5d84dfa9302c47a26196221c921c7d8c12|link to sha]]
[[r:c27dbd5d84dfa9302c47a26196221c921c7d8c12]]
[[url:www.assembla.com/code/<:space>/git/nodes/master|link to head]]

以下是这些示例:https ://www.assembla.com/code/bobo-titas/git/nodes/867b914329

有关 Assembla 链接的更多信息可以在“创建新的 wiki 页面”页面中找到。

于 2012-09-11T09:49:10.030 回答
1

没有预定义的标记来指定提交哈希。

Git 提交哈希只是十六进制数字,所以我猜你只是做正则表达式匹配/\<[0-9a-fA-f]{4,40}\>/(最少 4 位,最多 40 位)。您还可以检查匹配是否是有效的 Git 对象 ( git rev-parse --verify "$match")。


似乎 GitHub 毕竟确实有一种特殊的语法。要在其他存储库中指定提交,请使用格式<<username>>/<<repo>>@<<commitHash>>(详细信息可以在问题Github 提交消息链接中找到)。尽管我个人会避免直接的跨项目提交引用。

于 2012-09-10T12:05:46.597 回答