本記事について
現在プロジェクトでGitを利用しているが、運用フローが確立されておらず非効率な状態になっているため、効率的なフローで運用する手順を明確にするために、Git運用手順をまとめる。
Git運用手順
masterの取得 (git clone)
cd /GIT_CHECKOUT_DIR/
git clone git@github.com:hogehoge/hogehoge.git
開発ブランチの作成 (git checkout)
開発ブランチを master
から作成する。
ブランチ名は説明的な名前とすること。
(例: rename-wrong-class, add-payment-module)
cd hogehoge
git checkout -b 作成するブランチ名
※ブランチの情報を確認する場合は
git branch -a
コード修正
思う存分にコードを編集しましょう。
ローカルコミット (git commit)
git status # git管理下にあるファイルの状態を確認
git add ファイル指定 # 編集したファイルをコミット対象に登録する
git commit # vimが立ち上がり、コミットメッセージを入力して保存、vimを閉じるとコミットが完了する
masterに入っている修正をブランチに取り込む
ローカルのmasterを最新にする (git pull)
編集作業中にmasterにコミットが入ることは多々あるので、masterに入っている修正を修正ブランチに取り込む。
この時、修正したファイルは全てローカルブランチにコミットし、修正ブランチは編集中のファイルが無い状態にしておくこと。
git checkout master # masterに移動
git pull # masterの状態を最新にする
修正ブランチでrebase実施 (git rebase)
git checkout - # 一つ前にいたブランチに戻る この例では修正ブランチに戻る
git rebase master # リベースを実施する
コンフリクトが発生した場合
vim /PATH_TO_FILE/conflict.file # コンフリクトしたファイルを手動マージ
コンフリクトしたファイル全てをマージ後
git add /PATH_TO_FILE/conflict.file # 手動マージしたファイルをadd
git rebase --continue
rebase前の状態に戻したい時
git rebase --abort
修正ブランチをremoteにpush (git push)
rebaseが正常に完了したら、remoteにpushする
git push origin pushするローカルブランチ名:remoteのブランチ名
Pull Requestを送る
正常にremoteにpushされたかをGitHub画面から確認し、問題無ければPull Requestを作成する
Pull Requestのマージ
Github上で送信されているPull Requestを確認し、問題無ければマージする
※このとき、マージされたブランチは削除してしまってOK
注意点
Pull Requestを作成する際は必ずコンフリクトが発生しない状態にすること
Github上でAuto MergeができないPull RequestはRejectする
ちょっと便利なTips
よく使うコマンドはshellのaliasにしておくといいかも。
alias gc='git checkout'
alias gb='git branch'
とかとか。