投稿日時: 2023/03/08 17:11
最終更新日時: 2023/03/08 17:11
どうも,京大博士課程のざるご( @zalgo3 )です.
Git
のコミットログをきれいにするためには,作業のまとまりを意識してcommit
をしていくことが重要です.
ところが,チーム開発だと,中途半端な状態のものを作業報告としていったんリモートにpush
しないといけないことがあると思います.
そんなときに使えるtipsを個人的なメモがてらまとめておきます.
push
しておくブランチを自由に切ってしまってもいい環境のときしか使えない技ですが,中途半端な状態のものをあげる専用のブランチを作っておくといいと思います.
たとえば,hoge
ブランチの修正をしている場合だと,hoge-WIP
ブランチなどを用意します.
そして,中途半端なコミットをするときは,コミットメッセージに[WIP]
をつけるようにしておきます.
cherry-pick -n
でもとのブランチに作業内容を取り込むgit cherry-pick
は,別ブランチの特定のコミットのみを取り込むコマンドですが,オプションに-n
または--no-commit
をつけると,コミットせずに作業内容のみを取り込んでくれます.
これを利用しましょう.
hoge-WIP
ブランチでgit log
をしてコミットハッシュを確認してから,git switch hoge
でhoge
ブランチに移り,
で作業を取り込みます.(前のコミットは取り込みたいコミットの一つ前を指定することに注意)
すると作業内容のみが取り込まれ,コミット前の状況なので,
でコミットを行えばOKです.
もちろん,コミットメッセージごとそのままコミットを取り込みたい場合は,-n
オプションを付けずにgit cherry-pick
をすれば大丈夫です.