webエンジニアの日常

RubyやPython, JSなど、IT関連の記事を書いています

git初心者のための、安全できれいなgit push

私がいつも行っているgit pullからgit push までの手順をまとめたいと思います。 対象のソースコードruby on railsでminitestを使っている想定ですが、途中実行するテストコマンド以外は他の言語、フレームワークでも同様の手順で大丈夫です。

  1. git pull

  2. git branch ○○

    • 作業ブランチを切る
  3. git checkout ○○

    • 作業ブランチへ移動する
  4. 作業 + テスト + コミット

    • 編集作業をして、rake testでテストの実行をし、テストが通ることを確認する。
    • git add .
    • git commit
  5. git checkout master

    • 作業中に変更されたソースを取り込むために、一旦masterへ移動
  6. git pull

    • 最新のmasterを取得
  7. git checkout ○○

    • 作業ブランチへ移動
  8. git rebase master

    • rebaseして自分の変更が先頭になるようにする
    • masterへ移動してからgit pullしてもいいけど、マージコミットが残るとあまり綺麗じゃないので先にrebaseをしておく
  9. git checkout master

    • masterへ移動
  10. git merge ○○

    • 作業ブランチをmasterへマージする
    • 先にrebaseしているので何事もなくマージできるはず
  11. rake test

    • push前の最終確認
    • jenkins等のCIツールを使っている場合は、CIツールのテストでこけないように最終確認をしておく
  12. git push origin master

    • リモートへpushする
    • このときリモートのmasterが既に更新されていたら、git reset –hard HEAD~でmergeを取り消し、手順6へ戻る

かなり面倒くさいですが、gitを使い始めの時はイレギュラーなことが起こるとパニックになり時間もかかってしまうので、なるだけ安全に行うのが最速の方法です。