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

Tags of current page