git branch 使い方
新しいブランチを作成する
ブランチ new-branch を新しく作るには
git branch new-branch
とする。すでに new-branch というブランチが存在しているときはエラーになる。
ブランチやコミットから新しいブランチを作成する
あるコミットを指示する some-commit や他のブランチ other-branch から ブランチ new-branch を作成するには
git branch new-branch some-commit
git branch new-branch other-commit
とする。たとえば、最新のコミットを除いて新しいブランチを作る (2つ前のコミットからブランチを作る)には
git branch new-branch HEAD^
とする。
ローカルのブランチの一覧を見る
git branch
とするとローカルのブランチ名の一覧が表示される。 現在のブランチには先頭に「*」がついている。
ブランチを削除する
マージされたブランチ experimental を削除するには
git branch -d experimental
とする。このとき experimental がマージされていない場合は削除できない。
マージされたかどうかにかまわず削除するには、
git branch -D experimental
とする。
ブランチの名前を変更する
現在のブランチの名前を new-name にする「-m」オプションを使う。
git branch -m new-name
old-name ブランチを new-name ブランチに変更するには
git branch -m old-name new-name
とする。 すでに new-name というブランチが存在する場合に new-name ブランチを上書きしてしまうには「-m」の代わりに「-M」オプションを使う。
git branch -M new-name
git branch -M old-name new-name
すでに存在しているブランチを上書きして新しいブランチを作る
すでに old-branch というブランチが存在していて 新しく old-branch というブランチを作成したい場合は、 「-f」オプションをつける。
git branch -f old-branch
することでブランチを上書きできる。 もちろん、古い old-branch はなくなるので注意。
リモート追跡ブランチからブランチを作成する
リモート追跡ブランチからブランチを作成するのは、ローカルのブランチから作成する場合と同様である。 REMOTE リポジトリのブランチ BRANCH から NEWBRANCH を作るには
git branch NEWBRANCH REMOTE/BRANCH
とする。
リモート追跡ブランチの一覧を表示する
リモート追跡ブランチを表示するには
git branch -r
ローカルのブランチとリモート追跡ブランチの両方のブランチを表示するには
git branch -a
とする。
ブランチ一覧にサブジェクトや上流ブランチを表示する
ブランチ一覧にコミットのハッシュとサブジェクトを加えるには 「-v」または「–verbose」オプションを加える。
git branch -v
git branch --verbose
ブランチの上流ブランチを調べたい場合は「-vv」を使って
git branch -vv
とする。
ブランチの上流ブランチを取り消す
ブランチ名 branch-name の上流ブランチを取り消すには「–unset-upstream」を使って
git branch --unset-upstream branch-name
とする。現在のブランチを対象にする場合は branch-name を省略して
git branch --unset-upstream
とできる。
ローカルのブランチに上流ブランチを設定する
ブランチ名 branch-name であるローカルのブランチの上流ブランチを origin/master にするには 「-u」または「–set-upstream-to」オプションを使って
git branch -u origin/master branch-name
git branch --set-upstream-to origin/master branch-name
とする。branch-name を省略した場合は現在のブランチが指定される。
パターンにマッチしたブランチの一覧を表示する
「–list」オプションを指定してパターンを指定する。 ブランチ名がAから始まるブランチ一覧は
git branch --list "A*"
とすると得られる。
複数のパターンを指定した場合は、ブランチ名がいずれかのパターンにマッチすれば一覧に表示される。
特定のコミットを含むブランチの一覧を表示する
git branch で「–contain」オプションを使う。 コミット HEAD~3 を含むブランチの一覧を表示するには
git branch --contain HEAD~3
とする。
参考
- man git-branch