- Githubを普段使っているけど、コミットメッセージ等あまり考えたことが無い方
Githubは、様々な機能があり使いこなせると非常に便利です。 このテキストではその機能のごく一部を紹介しています。 少しでも参考になれば幸いです。
質問等がある際は@KawakawaRitsukiまでお願いします。
私はコミットメッセージについて、下記のルールを推奨しています。 他の人が見た時に分かりやすいメッセージを心がけましょう。
例えば、編集した内容を書くよりは、編集した理由を書くといった内容です。 編集したことはコミット履歴を見ればわかります。しかし、理由や状況等という情報はコミット履歴からは推測できません。
1行目 : [接頭辞] コミット内容の要約
2行目 : 空白行
3行目以降: コミット内容詳細。TODO等もあれば書き込む。何も書かなくても良い。
※[接頭辞]のあとに半角スペースを開けると見やすくなるのでおすすめですが、強制ではありません。
接頭辞 | 内容 |
---|---|
add | 機能orファイル追加 |
fix | バグフィクス |
modify | 仕様変更 |
remove/deleted | 機能orファイル削除 |
その他 | 状況によって任意の接頭辞をつけてください。 |
私は、接頭辞を3文字以内に表現するようにしています。(例:modify -> mod) この辺は好みに応じてで良いと思います。
Issuesを解消した際は
- Fixed #XXX
- close #XXX
※XXXはIssues番号 といった感じの文章をコミットメッセージに含めれば、自動的にCloseされます。 その際、#XXXにIssuesへのリンクが貼られるのであとから参照しやすくなります。
もし、コミットメッセージに含めるのを忘れていた場合は、コミットへのコメントに同じ用な文章を入れても同じ動作をしてくれます。
なお、接頭辞にfixと入れてもCloseすることは出来ないので、以下のような形式をオススメします。
[fix] Close #XXX,#XXX
新たに自分のブランチを切るときは
ユーザー名-作業内容-001(連番)
といった感じで名前をつけると他人から見た時に分かりやすいです。 修正等の際はpatchなどとすると良いかもしれません。
このように、他人のユーザー名が入っているブランチを勝手にプルリクエストしたり、コミットをすることは控えてください。 もし、追加でコミットしたい場合は、そのブランチから新たにブランチを切ってコミットしてから、そのユーザーのブランチにプルリクエストをしてください。 (ただし、他人のブランチをプルリクエストすることはやめてください)
Issues/Milestonesとは問題を管理するための機能です。 もし、何か不具合や、こんな機能が欲しいといったことがあれば、Issuesに書き込んでください。
IssuesにはTitle/Comment以外にも機能があります。 右の方にあります、Label/Milestones/Assigneeです。
オープン。Issuesを投稿すること。
クローズ。Issuesを閉じること。
再オープン。Issuesを再開させること。
タグとも言われます。 簡単に言うとジャンル分けですね。 ラベルはあとから変更することも可能です。
下の表を参考にして指定してみてください。
Label | 内容 |
---|---|
bug | バグ/不具合の報告等の時に指定します。 |
duplicate | 重複しているIssuesの時に指定します。 "Duplicate #XXX"といったコメントをしてクローズしてください。 |
enhancement | 新機能/要望等の時に指定します。 |
help wanted | 解決出来ない時、誰かに助けて欲しい時などに指定します。 |
invalid | 解決はしていないけど一度閉じるときに指定します。解決出来ない問題や、プラグインに問題がある時などです。 |
question | Issuesの意図がよくわからない時に指定します。 |
wontfix | 問題について、把握しているものの解決出来ない時などに指定します。 |
その他 | それ以外にもLabelは追加することが出来ます。必要に応じて追加してください。 |
Milestonesは全体の進捗を計算したりするときに役に立ちます。 本来の用途は、期日までに仕上げなければいけないIssuesを管理するための機能です。
例えば、XXという機能をつけようと思った時に、それ以外にも複数箇所を修正しなければいけない。 それをすべてIssuesとして開いて、一つのMilestonesを指定してあげると全体の進捗が%で表示されます。 モチベーションを上げる目的としても良いので、ぜひ使ってみると良いと思います。
解決担当者の指定です。誰が解決するのかを指定しておくことで、効率的に問題解決ができます(絞込等も出来ます。これにより自分のしなければいけない作業が把握できます。)。
Wikiでは、仕様や操作方法といった外部の人向けの文章を細かく書くことが出来ます。 README.mdは興味を持ってもらうためのものだとすれば、Wikiは取扱説明書のようなものだと思っても良いかもしれません。
Wikiは基本的にMarkdownで書くことができるので、誰でも手軽に書けると思います。 ページ名は左の目次に表示されるので、よく考えてから書くことをおすすめします。