EnsekiTT Blog

EnsekiTTが書くブログです。

GitでちゃんとBranch切って開発する話

こんにちは、えんせきです。
Blogのリポジトリをご覧の方はご存知かもしれませんが、ぼくは一人でやってるとBranch切るのを怠りがちです。
これを機にちゃんと一人でもWorkflowを改めようと思いました。

つまりなにしたの?

Gitでブランチ切って開発する時のWorkflowと都度使いそうなコマンドをまとめた。
f:id:ensekitt:20180416022603j:plain

基本的なWorkflow

作業に成功した時の例

$ git checkout -b topic-branch
$ <うまくいった作業>
$ git add -A
$ git commit -a -m "うまくいった。ほめて"
$ git checkout master
$ git merge topic-branch
$ git branch -d topic-branch

ここではマージ済のブランチを削除するので-d

作業に失敗した時の例

$ git checkout -b topic-branch
$ <しっぱいしちゃった作業>
$ git add -A
$ git commit -a -m "失敗しちゃった。てへぺろ"
$ git checkout master
$ git branch -D topic-branch

ここではマージしてないブランチを削除するので-D
マージせずに-dすると-Dを使うように促される。

適宜やるコマンド

Branchを作った時にタイポした

git checkout -b typo-branch
git branch -m topic-branch

typo-branchに入って今アクティブなbranch名を変更できる。

リモート先のBranchリストを見る

git branch -r

指定したBranchを追跡するようにする

git branch -u upstream-branch

# 追跡を外す時
git branch --unset-upstream

チェックアウトの時に追跡先を指定する。

git checkout -b sf origin/serverbranch

僕は追跡って単語がいまいちピンとこなかったけど、
リモートのorigin/masterとローカルのmasterは、「ローカルのmasterがリモートのorigin/masterを追跡している」。
Git - Remote Branches
日本語って難しい。