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

コミット ハッシュを指定する定義済みのマークアップはありません。

/\<[0-9a-fA-f]{4,40}\>/Git commit ハッシュは単なる 16 進数なので、 (最小 4 桁、最大 40 桁)の正規表現マッチングを行うだけだと思います。さらに、一致が有効な Git オブジェクトであるかどうかを確認できます ( git rev-parse --verify "$match")。


結局、GitHub には特別な構文があるようです。他のリポジトリでコミットを指定するには、次の形式を使用します<<username>>/<<repo>>@<<commitHash>>(詳細については、Github commit message linksの質問を参照してください)。個人的には、プロジェクト間の直接的なコミット参照は避けたいと思いますが。

于 2012-09-10T12:05:46.597 に答える