Chapter 4.2 - Managing branches - Make new branch

新しいbranchはgit branchコマンドを使って切り出すことができます。以下はmasterで2回commitを重ねたあとのcommit logです。試しにここから新しいbranchを切り出してみます。

# branchを切り出す前。master branchのみ存在。
* 811c9a5 (HEAD, master) modify text
* 4b5d30b initial commit

git branchコマンドは引数にbranch名を受けとり、その名前の新しいbranchを作成します。新しく作成されたbranchの最新のcommitは、git branchコマンドを実行したときの最新のcommit(=HEAD)と同一になります。

$ git branch new_branch

$ git log --oneline --graph --decorate --branches --tags --remotes
* 811c9a5 (HEAD, new_branch, master) modify text
* 4b5d30b initial commit

masternew_branchの2つのbranchが存在するのが分かると思います。それぞれのbranchはそれぞれのcommit logを持つので、commitを重ねると以下のようなlogになります。

* 762eb60 (HEAD, new_branch) commit on new_branch
| * c1e7c6c (master) commit on master
|/  
* 811c9a5 modify text
* 4b5d30b initial commit

git checkout

git checkoutコマンドはbranch名やcommit IDを引数として受け取って、それが指すcommitをworking directoryに展開します。慣れないうちはbranchを切り替える目的のコマンドとして覚えておけば問題ありません。

$ git checkout <commit>

次の例はmasterからnew_branchにbranchを切り替える操作です。git branchコマンドは引数を渡さずに-a-vなどのオプションを付与して実行することによって、local branchやremote branch(remote tracking branch)の情報を確認することができます。

$ git branch -a
* master
  new_branch

$ git checkout new_branch 
Switched to branch 'new_branch'

$ git branch -a
  master
* new_branch

また、git checkoutコマンドは-bオプションと一緒に実行することによって新しいbranchを作成しながらそのbranchに切り替えることができます。

$ git branch -a
* master

$ git checkout -b new_branch
  master
* new_branch

other operations

その他覚えておくと便利なbranchに関するコマンドを列挙しておきます。

# branchの名前を変える
$ git branch -m <old_branch_name> <new_branch>

# branchを削除する
$ git branch -d <branch_name>

results matching ""

    No results matching ""