必要なものだけコミットしようね
伝えたいことはこれ↑です。
必要なファイルだけコミットしよう
「よ〜し色々開発したぞ! それ! git add .
だ! git commit
だ!!」
とするのはやめましょう。
git add .
はカレントディレクトリ配下で差分のあるファイル全てをステージングに追加します。本当にそれらを全て追加していいのでしょうか?
今取り組んでいる作業とは関係のないファイルが紛れ込んでいませんか?
どのファイルをaddするか確認しよう
git status
を使ってみてください。
どのファイルに変更があったのかすぐわかります。このとき本当に必要だけ差分がでていれば、git add .
してOKです。そうでない場合は本当に必要なファイルのみをaddするようにしましょう。
git管理する必要のないファイルは.gitignoreに指定しよう
作業しているといつの間にか作成されている知らないファイルが紛れ込んでいることはありませんか?
そのようなファイルは何に必要なのか、git管理するべきなのか調べてみましょう。何も考えずにgit add .
しないでください。
.gitignoreという特殊なファイルにgit管理しないファイルを指定することができます。
きちんと指定できているとそれらのファイルの差分は無視されるので、git status
でも検出されませんし、git add .
してもステージングに追加されません。
言語やフレームワークなど環境に応じた.gitignoreテンプレートのようなものも公開されています。詳しくはgitignoreで調べてみてください。
必要な行だけコミットしよう
「このファイルは必要だから大丈夫、addしてcommitだ!」
作ってはみたものの結局使わなかった関数が残っていたり、汚いが動く状態のコードがそのままになっていたり、ある機能を開発途中に別件で調査をしたような場合の実験的なコードなどがファイルに残っていることがあります。
何をaddするか確認しよう
git diff
を使ってみてください。
差分が出ているファイルの中身を行ごとに確認することができます。全て必要な意図した変更であれば、addしてOKです。
いま本当に必要な行だけを綺麗にコミットするようにしましょう。
補足
意味のある単位でコミットしたい
とにかく変更したファイルを適当に都度コミットしていった場合、最新の状態では動くかもしれませんが、その途中のコミットはどのような状態であるか把握しずらいですし、何か問題があった場合にどのコミットが問題なのかもわからないです。
意味のある単位でコミットすると、コードの目的や変更内容、履歴が追跡しやすいですし、コードに問題があった時に特定のコミットを取り消すようなこともできます。
プルリクエストする時のことを考える
ブランチを切って開発作業をしてコミットし、プルリクエストを出してこの変更でいいかを確認してフィードバックをもらう(レビュー)ことがあります。
このときに不要なファイルがたくさん含まれていたり、やろうとしている開発作業以外の変更が含まれていたりすると見る方も大変です。
わかりやすく意味のある単位で、本当に必要なファイルだけをコミットするようにすれば、複数人で開発する時にスムーズに作業ができます。
所感
初心者向けのGitの記事はたくさんあるんですが、意識してほしいことをシンプルに書いている記事がなくて自分で書いてみました。
意図せぬ変更を含んだコミットになっていないか、意識してみてください。