web-dev-qa-db-ja.com

一人の開発者としてコミットメッセージを書いていますか?

リポジトリが私と他のプログラマーとの間で共有されている私のプロジェクトでは、私が主な開発者であっても、常にコミットメッセージを書き込みます。

しかし、私がプロジェクトに取り組んでいる一人の開発者であり、リポジトリが私の個人のラップトップでホストされており、クライアントによってもホストされていないプロジェクトでは、私がコミットを書いても、自分以外の誰もコミットを見ないでしょうメッセージ?

これまでのところ、私はそれらを書いていますが、戻ってコミットメッセージを表示したことがないことがわかりました。私はメッセージを書き留めるために開発の時間をとりますが、それでも私には二度と見られません。

一人の開発者としてコミットメッセージを書くのに良い理由はありますか、または開発に集中し続けるためにそれらをスキップするべきですか?

30
Click Upvote

ここに1つの理由があります:過去数百回のコミットで何かが突然壊れたことに気付いた場合(マイナーな編集ごとにコミットした場合は可能ですが、私のように「安定した」スナップショットのみをコミットした場合は実現不可能です)、より簡単にできます「バグ修正」ではなく、明確なコミットメッセージを書き込んだ場合は、バグを挿入した場所を見つけます。 (同僚のお気に入りの文字列だと思います)。もちろん、svn logまたはあなたが使用しているSCMなら何でもすべき逆の方が簡単です。

また、コミットメッセージは、変更として正確に何をしたかを考えるように強制し、プロジェクトを改善し続けることが最善であると考えていることを頭にまとめています。

43
K.Steff

いつも頑張っています。 「この変更を行ったとき、私が何をしていたのか」と振り返って考えたことがありますか。私はいつもします。メッセージを30秒書くことで、覚えるのにかかる20分分の作業を節約できます。

52
kemiller2002

正直なところ、プレーンな英語で40〜80文字程度入力するオーバーヘッドがコミットのオーバーヘッドになると思いますか、それとも怠惰な言い訳を探していますか?

問題はおそらく変更を加えた理由をわかりやすい英語で表現していることでしょう。その場合、変更の目的を確認する必要があるかもしれません。実際に変更する必要があるかどうかを自問するまでです。

私のアドバイスは、あなたが一人で飛行しているので、ルールを破ることができるとは思わないことです。常にプロフェッショナルであり続け、意味のあるコミットメッセージを追加します。他の回答者が指摘したように、ある日あなたはそれを感謝するでしょう。

20
mattnz
  • あなたはいつも一人の開発者ではありません。

  • 最終的にはコードベースを壊し、それを復元しようとします。適切なコミットメッセージを使用すると、時間を節約できます。

  • 3週間前に何をしていたのか思い出せませんよね?

  • コミットメッセージは非常に明確でなければなりません。そうでない場合は、タスクの作業が完了していないか、1つのタスクが2つ以上のタスクに広がっています。

14
CodeART

確かに、そうでなければ、ブランチやマージなどの機能を使いにくくします。そして、あなたはwillソロ開発者であってもそれらを使いたいと思っています。

7
jmruc

考えられる理由の1つは、行った変更についてより抽象的に考え、変更を構造化することを強いられます。

それが無意味だと感じたら、奇妙な振る舞いのソースを探している場合に備えて、おそらく大きな変更、または既存の機能を変更する変更についてコメントしてください。

6
Steve Bennett

私はTXRプロジェクトの唯一のコミッターであり、プロジェクトのかなり早い段階から詳細なChangeLogを保管しています。これは、11,000行に近い長さで増加しています: http://www.kylheku.com/cgit/txr/tree/ChangeLog

(リポジトリ内のコミットメッセージは、ChangeLogに記録される内容の単なるコピーです。)

[2016年の編集:2015年半ばの時点で、ChangeLogファイルを保守しなくなりました。ただし、コミットメッセージは、GitとChangeLogの規則に同時に準拠する形式で書き込まれます。マージの問題を引き起こさない方法で、同じレベルの詳細があります。 ChangeLogファイルは、これらのコメントから機械的に再構築できます。]

はい、何度か私は何かを壊した変更に関連する古いコミットメッセージに戻ってきました(git bisectの助けを借りて発見されました)。このメッセージは、自分がやっていることを理解するのに役立ちました。

ChangeLogでは、関数、型、マクロ、またはグローバル変数が最初に導入された時期と、その後変更が加えられた時期を確認できます。

しかし、自分で作業するときにこれらのようなdetailedコミットメッセージを書き込む主な理由は次のとおりです:これを行うとバグが見つかります

詳細なコミットメッセージを書き込むことには、他の誰かによるコミットのコードレビューと同様の利点があります。コミットレビューの価値は、誰かがあなたのコードをチェックしているほどではありませんが、変更を別の開発者に説明する必要があります。

物事を説明しようとすると、それらが意味をなさないことがあります。

もう1つの理由:無駄な変更を加えていることに気付く可能性があります詳細なコミットコメントを書くことで、自分がやっていることの高レベルのビューをキャプチャし、時にはそれが良い変更ではないという事実に直面することがあります。

ChangeLogエントリを書いている最中に、これがgit reset --hardではなくgit commit -a(これらの不要な変更を破棄する)になることに気づいたときに、時々変更を加えました。

4
Kaz

コミットメッセージを表示する必要はまだありませんが、将来的には非常に感謝するでしょう。あなた自身のためにそれらを書き続ける必要があります。後で役立つ可能性のある理由はたくさんあります(機能を追加する理由を忘れた、不足しているファイルを見つけるなど)。

コミットメッセージの目的に関する関連する質問を次に示します。 コミットメッセージを作成する理由

3
hfitzwater

私は常に変更についての意味のあるメッセージをコミットし、増分変更を頻繁に行います。

これは常に最も役立つものですか?いいえ、問題ありません。進行中の前の段階に戻る必要がある場合は、メッセージによって現在の場所と何をしたかがわかります。また、プロジェクトの進捗状況を追跡するためにも使用できます。時間の浪費と見なされていることについて、文章を書き留めるのにかかる30秒は本当に重要ですか?

3
user7007

チームで作業しているかどうかにかかわらず、コミットメッセージに関して違いはありません。あちこちでやったことを限られた時間だけ覚えていて、その後は誰かが書いたのと同じです。したがって、他の人と同じようにメッセージを書く必要があります。

3
Malcolm