git branch コマンド

公式サイト:

git-branch | Git Documentation [Official]

使い方

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

$ git branch

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

$ git branch --remote

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

$ git branch --all

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

$ git branch develop

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

$ git switch develop

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

$ git switch -c 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

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

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

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

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

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

$ git switch master
$ git branch develop
$ git switch develop

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

$ git switch master
$ git switch -c develop

git checkout コマンドに -b スイッチを付けてブランチを作成する。(旧形式)

$ git checkout master
$ git checkout -b develop

特定のコミットからブランチを作成する。

$ git branch develop 1234abc

または、git switch コマンドに -c オプションを付けて特定のコミットからブランチを作成する。

$ git switch -c develop 1234abc

ドキュメント:

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

参考:

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

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

特定のコミットからブランチを切りたい – Qiita

特定のコミットからブランチを作成する | Tech控え帳

How to create a branch from a specific commit ID | Educative

Branch from a previous commit – Stack Overflow

How can I force git to always branch from master? – Stack Overflow

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

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

$ git stash -u
$ git switch -c work
$ git stash pop
$ git add .
$ git commit -m "[WIP]"

参考:

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

ブランチを強制的に作成する

develop が存在しない場合は作成し、存在する場合は HEADmaster と同じコミットを指すように変更する。

$ git checkout -B develop master

参考:

force checkout of duplicate branch? – Stack Overflow

リモートにブランチを作成する

参考:

How do I create a remote branch? – Stack Overflow

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

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

$ git checkout --orphan empty

参考:

空ブランチを作る – Qiita

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

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

説明コメント (Description)

参考:

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

リモートブランチ

リモートブランチをフェッチしてローカルで使用するには、git switch コマンドを用いる。

$ git switch develop-on-remote

または、git checkout コマンドに --track オプションを付けて実行する。(※旧形式)

$ git checkout --track origin/develop-on-remote

参考:

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

fetch remote branch – Stack Overflow

HEAD

参考:

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

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

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

参照 | Git [公式]

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

デフォルトのブランチ名として main を使用するように設定する。

$ git config --global init.defaultBranch 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

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

追跡ブランチを設定する

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

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

参考:

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

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

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

参考:

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

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

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

参考:

あるコミットが、特定のブランチに属するか調べる方法 – 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)
  • ハイフン/ダッシュ (-)
  • アンダースコア (_)
  • スラッシュ (/)

参考:

Branching Naming Convention: Best Practices | Coding Sight

Branch Naming Conventions | DeepSource

Branch Naming Convention: 7 Best Practices to Follow | HackerNoon

Branch Naming Conventions | Nitanshu Verma

Branch Naming Convention | couchcamote

Organizing Git Branches with Naming Conventions | Michael Erpenbeck

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

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 branches? – Stack Overflow

Is there a naming convention for repositories? – Stack Overflow

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

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

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

Git Recent

リポジトリ:

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

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA