web-dev-qa-db-ja.com

コミットメッセージでGithubの複数の問題を閉じる

closes #1またはfixes #1コミットメッセージ。同じコミットメッセージで複数の問題を解決する最良の方法は何ですか?

また、fixesではなくclosesを使用しても、コミットメッセージから課題へのリンクは作成されませんが、does課題を閉じます。どうしたの?

103
Rayne

Closes #1, closes #2, closes #3; rest of commit message.

closes句はメッセージ内の任意の場所に置くことができ、fixesは有効な同義語です。

This fixes a memory leak in foo() that closes #4,
also fixes #5 which is a duplicate.

次の使用は動作しますが、最近ではreferencesが#2と#3を発行します。

Closes #1, #2, #3

144
Jakob Borg

回答とその回答へのコメントには、次の形式が記載されています。

#1を閉じ、#2を閉じ、#3を閉じます。実際のコミットメッセージ

参加する価値のあるプロジェクトがあり、誰かがそのようなコミットメッセージでプルリクエストを送信した場合、コードがどれほど美しいものであってもプルを拒否します。

これは私の個人的な好みの問題であり、Gitの履歴の要約を散らかすコミットメッセージを圧縮するために使用される人々によって完全に打ち負かされる可能性がありますが、私はむしろフォーマットのコミットメッセージを見たいです:

行われた変更の要約。

次のバグを修正しました。
*エラーローダーを修正、#1を修正
*古くないポインターを返し、#2を修正
* gui要素に新しいグラフィックを適用し、#3を閉じます

彼は、複数の問題を解決するためのbest方法を求めました。

また、メッセージのコミットをリポジトリの現在のデフォルトブランチ以外のブランチにプッシュすると、問題のみが参照されることに注意してください。メインブランチにコミットをプッシュすると、問題が解決します。参照: GitHubの問題番号へのリンクが機能しない?

35
JNissi

2013年1月 以降、「コミットメッセージによる問題のクローズ」が変更されていることに注意してください。

Fixes #33 "コミットメッセージのissue 33は、コミットがデフォルトのブランチにマージされるとクローズされます(通常master

これは、問題のオープン/クローズ状態がデフォルトのブランチにマッピングされることを意味するため、非常に便利です。
デフォルトのブランチでバグが修正されない場合、問題は未解決のままです。
修正を含むコミットがデフォルトのブランチにマージされると、問題は自動的にクローズされます。

これらのキーワードのいずれかを使用して、コミットメッセージを介して問題をクローズできます。

close, closes, closed, fixes, fixed

GitHubの問題を別のブランチで閉じている 」という質問で示されているように、これにより最初は混乱が生じます。

9
VonC