プロジェクトで、基本的に1PR1コミットというgitflowを運用しています。
普段は、1回のプルリクエストに対して何度も何度もcommitを繰り返していました。
が、それはあまりよろしくないみたいなので、コミットを増やさずにpushする方法をメモしておきます。
これまで僕がやっていたpushするまでの流れ
$ git add .
これで変更を加えたファイルをインデックスに追加する。
$git commit -m "first-commit"
git commit -m でコミットメッセージをつける。
$git push origin feature/users
とか、いう感じでorigin(リモートリポジトリ)にfeature/usersブランチをpushする。
その後、GithubもしくはGitlabでPR(プルリクエスト)を作成し、レビュー依頼をする。
変更をしたとき、もしくは自分で気づいて修正をしたとき
これまではPRを作成し、だれかにコードレビューをしてもらった後や自分でコードを見返した時に細かなミスを見つけたときに変更を加えたらもう一度上の流れを繰り返して、新たなコミットメッセージとともにpushしていました。
でも、本来それはあまりよろしくない行為らしい。今更気づいた。
それで、じゃあそういう変更をしたときにどうするのか・・・・・・・・・・・・・・・・・・
$git add .
これは変わらない。変更を加えたファイルをインデックスに追加する。
そしてここからが重要!!!!!!!!
$git commit --amend --no-edit
こういうコミットのコマンドを打つ。これで、直前のコミットに変更を付け加えることができるらしい。ちなみに、amendは編集とかそういう感じの意味とのこと。さらには、--no-editはよくわからないが、エディターをたちあげずに済むらしい。詳しい方いたらおしえてください。
これで、直前のコミットに変更を加えたら
$git push origin feature/users -f
これで強制pushをする。
この流れがいいらしい。