git branch コマンド

公式サイト:

git-branch | Git Documentation [Official]

使い方

ローカルのブランチ/作業ブランチを確認する。

$ git branch

リモートのブランチを確認する。

$ git branch --remote

全てのブランチ (ローカル/リモート) を確認する。

$ git branch --all

現在のブランチから派生ブランチを作成する。

$ git branch develop

作業ブランチを変更する。

$ git checkout develop

現在のブランチから派生ブランチを作成して、作業ブランチを変更する。

$ git checkout -b develop

ローカルのブランチを push する。(リモートに反映させる。)

$ git push -u origin develop

2回目以降に push を実行する。(-u オプションで上流ブランチを設定済みの場合)

$ git push

ローカルのブランチを削除する。

$ git branch -d develop

リモートのブランチを削除する。

$ git push -d origin develop

リモートのブランチ情報を取得する。(ローカルのリポジトリにキャッシュする。)

$ git fetch

参考:

ブランチ関連コマンド – Qiita

ブランチとマージの基本 | Pro Git Book

Git で最近コミットしたブランチを探す | yuhei.kagaya

ブランチ一覧を更新時刻つきで表示したい場合、Git の for-each-ref が使える | Bye Bye Moore

What is the format of pattern in git-branch --list – Stack Overflow

新しいブランチを作成する

master ブランチから新しく develop ブランチを作成して切り替える。

$ git checkout master
$ git branch develop
$ git checkout develop

ブランチの作成と切り替えの2つのコマンドを合わせて、1つのコマンドで実行する。(git checkout-b スイッチを付けて実行する。)

$ git checkout master
$ git checkout -b develop

git switch コマンドに -c オプションを付けてブランチを作成する。

$ git checkout master
$ git switch -c develop

参考:

新しいブランチの作り方 – Qiita

Git のブランチ作成/リモートへの登録 – Qiita

-c – git-switch | Git Documentation [Official]

作業ツリーからブランチを作成する

現在の作業ツリーの全ての変更をスタッシュに退避し、新規ブランチを作成してブランチを切り替え、退避していた作業内容をスタッシュから取り出してコミットする。

$ git stash -u
$ git checkout -b work
$ git stash pop
$ git add .
$ git commit -m "[WIP]"

参考:

ブランチを作り忘れた時 – Qiita

履歴のないブランチを作成する

履歴のないブランチを作成するには、--orphan オプションを指定してチェックアウトを実行する。

$ git checkout --orphan empty

参考:

Git の空ブランチを作る – Qiita

不安なく Orphan ブランチを作る方法 – Qiita

How to remove the first commit in git? – Stack Overflow

説明コメント (Description)

参考:

Git のブランチには説明をつけることができる | アジャイル SE の憂鬱

リモートブランチ

参考:

remote に branch を push し、remote から clone したリポジトリの branch を変更して push する | basyura’s blog

HEAD

参考:

Git リモートリポジトリの HEAD のブランチを変更する – Qiita

Git のブランチや HEAD をサブコマンドで操作する | 丸ノ内テックブログ

Git の参照 – HEAD と heads と tags と remotes | たいさブログ

Git の参照 | Git [公式]

デフォルトブランチ (master / main)

参考:

デフォルトブランチ名を取得する – Qiita

デフォルトブランチ名を変更する方法 | Rriver

リポジトリのデフォルトブランチの名前が master から main に変わります | Backlog

GitHub でこれから作成するリポジトリのデフォルトブランチ名が main に/master から main へ変更 | Publickey

デフォルトブランチを変更する | GitHub Docs [公式]

Regarding Git and Branch Naming | Software Freedom Conservancy

ブランチの一覧を確認する

参考:

ローカルやリモートのブランチ一覧を見る/リモートブランチ/追跡ブランチの情報を更新する | tweeeety のぶろぐ的めも

ブランチ名を変更する

ローカルブランチの名前を変更する。

$ git branch -m old_branch new_branch

カレントブランチ (現在チェックアウトしているブランチ) の名前を変更する。

$ git branch -m new_branch

ローカルで削除したブランチをリモートに反映させる。(リモートブランチを削除する。)

$ git push origin :old_branch

ローカルで作成したブランチをリモートに反映させる。(リモートブランチを作成する。)

$ git push origin new_branch

参考:

ローカルのブランチ名を変更したい – Qiita

GitHub でブランチ名を変更する – Qiita

ブランチ名前を変更するオプション (git branch -m) | WWW クリエイターズ

ローカルとリモートのブランチ名の変更 | ハックノート

ブランチの一覧をソートして表示する

コミットの作成日時が新しい順にソートして表示する。

$ git branch --sort=-authordate

参考:

git branch の結果を時間順にソート | Islands in the byte stream

ブランチリストを鮮度順に表示する – Qiita

ブランチを最新コミット順に並べたら幸せになれた | kakakakakku blog

ブランチ一覧を更新時刻つきで表示したい場合、git の for-each-ref が使える | Bye Bye Moore

for-each-ref で各ブランチで最後に commit した人とその更新時刻を一覧表示させる | DOT NOTES

Sort Git Branches by Date | David Walsh Blog

git-for-each-ref | Git [Official]

How can I get a list of branches, ordered by most recent commit? – Stack Overflow

ブランチが特定のコミットを指すように設定する

ブランチをチェックアウトした後に、git reset コマンドにコミットハッシュを指定して実行する。

$ git checkout master
$ git reset --hard 12345abcde

あるいは、git branch コマンドに -f オプションを付けて実行する。

$ git branch -f master 12345abcde

参考:

How do I make a branch point at a specific commit? – Stack Overflow

追跡ブランチを確認する

ブランチの一覧で情報を詳細に確認する。

$ git branch -vv

現在のブランチの追跡ブランチを確認する。

$ git status -sb

参考:

ローカルブランチがどのリモートブランチを追跡してるのか確認する方法 | dackdive’s blog

Git のトラッキングブランチの確認と設定方法 | yu8mada

追跡ブランチを設定する

現在のブランチが origin/master を追跡するように設定する。

$ git branch --set-upstream-to origin/master

参考:

Git のトラッキングブランチの確認と設定方法 | yu8mada

How to address Git error “the requested upstream branch ‘upstream/master’ does not exist” – Stack Overflow

不要なブランチを削除する/ブランチの整理

参考:

Git の不要なブランチを消すコマンド- Qiita

Git で使われていないリモートブランチの整理 – Qiita

特定のコミットを含むブランチを探す

参考:

Git のあるコミットが、特定のブランチに属するか調べる方法 – Qiita

命名規則 (Naming Convenstion)

  • メイン (Main)
    • main
    • master
  • 開発 (Development)
    • dev
  • フィーチャーブランチ (Feature Branch)新規機能の開発
    • feature
    • new
  • バグ修正 (Bug Fix)
    • bug
  • 緊急パッチ (Hotfix)脆弱性や機能不全に関する緊急を要する修正
  • 作業ブランチ (WIP)
    • wip
  • イシュー (Issue)
  • トピック (Topic)特定のカテゴリにおける機能を開発するためのプロジェクト用ブランチ
  • タスク (Task)
  • チケット (Ticket)
  • ビルド (Build)
  • ステージング (Staging)
  • リリース (Release)
  • バージョン (Version)
    • vX.Y.Z
    • ver
  • テスト (Test)品質保証テスト (QA Testing) を適用するためのブランチ
    • test
  • 実験的 (Experimental)
    • junk
  • ユーザー (User)
  • サポート (Support)
  • マージ (Merge)マージコンフリクト解消のための作業用ブランチ
区切り (Separators)
  • ハイフン/ダッシュ (-)
  • アンダースコア (_)
  • スラッシュ (/)

参考:

Git Branching Naming Convention: Best Practices | Coding Sight

Git Branch Naming Conventions | DeepSource

Git Branch Naming Convention: 7 Best Practices to Follow | HackerNoon

Git Branch Naming Conventions | Nitanshu Verma

Git Branch Naming Convention | couchcamote

Organizing Git Branches with Naming Conventions | Michael Erpenbeck

What are Some Best Practices that You Follow while Naming Git Branches? | Hashnode

Git Branch Naming Conventions (revett) – GitHub Gist

Dealing with Special Characters in Branch and Tag Names | GitHub Docs [Official]

What are some examples of commonly used practices for naming Git branches? – Stack Overflow

Is there a naming convention for Git repositories? – Stack Overflow

Which characters are illegal within a branch name? – Stack Overflow

Why do some Git branch names have slashes in them? – Stack Overflow

Naming Git branch as feature/featureName or username/featureName instead of creating sub-branch – Stack Overflow

Git Recent

リポジトリ:

paulirish/git-recent: See Your Latest Local Git Branches, Formatted Real Fancy – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA