プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Gitブランチとは?git branchコマンドの使い方を徹底解説

ブランチ(branching)は、ほぼすべての現代的なバージョン管理システムに搭載されている機能です。ブランチを使えば、開発者はコードのメインバージョンから離れて作業を進め、メインのコードを更新することなく変更を加えることができます。

他のバージョン管理システムでは、ブランチの作成が難しい場合があります。中には、コードの新しいコピーを作成するよう求めるシステムもあり、大規模なプロジェクトでは大きな手間になります。一方、Gitはシンプルなブランチ機能を備えており、異なるブランチ間を簡単に行き来できます。

このチュートリアルでは、実例を交えながらGitのブランチの基本と、git branchコマンドの使い方について解説します。読み終える頃には、Gitでのブランチ操作をマスターしていることでしょう。

Gitのブランチとは

ブランチは、Gitで作業するうえで欠かせない要素です。

プロフェッショナルなプロジェクトでは、機能追加やバグ修正の作業ごとにブランチを作成するのが一般的です。ブランチを使うことで、開発者はメインのコードベースに影響を与えることなくリポジトリ上で作業でき、機能の開発やバグの修正を他のメンバーと共同で行ったうえで、プロジェクトのコードのメインコピーへプッシュできます。

この開発手法により、エラーを含むコードがメインのコードベースにマージされるリスクを大幅に減らせます。

Gitにおいて、ブランチとはリポジトリ内の新しい開発ラインのことです。この新しいラインはコードベースの独自のバージョンを持ち、メインブランチとは独立して進化していきます。多くのコードベースでは、このメインとなるブランチを「masterブランチ」と呼びます。

ブランチはmasterブランチから独立しているため、コードベース内の異なる機能を並行して開発できます。そして、変更をメインのコードベースに取り込む準備が整ったら、masterブランチ(またはコードのメインバージョン)へマージします。

Gitのブランチコマンド

ユーザーが作成したブランチは、masterブランチから独立しています。これらのブランチにはそれぞれ独自のコミット履歴があり、ブランチに変更をプッシュすると、その変更はプッシュ先のブランチにのみ反映されます。

ブランチは、同じコードベースの複数のバージョンを作成する手段と考えると分かりやすいでしょう。たとえば、開発中の新機能のコードを含むブランチを1つ作り、別のブランチには未解決のイシューを修正したリポジトリの更新版を保存する、といった使い方が可能です。

git branchコマンドは、Gitでブランチを操作するためのコマンドです。このコマンドを使うと、ブランチの作成、名前変更、削除が行えます。また、git branchを実行してブランチの一覧を取得することもできます。

さらに、git branchコマンドは、コードベースのバージョンを切り替えるgit checkoutコマンドや、異なるバージョンを統合するgit mergeコマンドと組み合わせて使われることが多いです。これらのトピックについては、それぞれのチュートリアルで詳しく解説しています。

Gitのブランチの基本がわかったところで、git branchコマンドで利用できるフラグやパラメータの使い方を詳しく見ていきましょう。

ブランチの一覧を取得する

Gitリポジトリ内のブランチの一覧を取得するには、git branchコマンドを使用します。構文は次のとおりです。

git branch

このコマンドの出力例は以下のとおりです。

* master
* v0.9
* v0.8

ご覧のとおり、git branchコマンドはGitリポジトリ内のブランチのリストを返します。git branch --listと書くこともでき、この場合も同様にリポジトリ内のブランチの一覧が返されます。

ブランチを作成する

たとえば、コードベースに「v0.9.1」というブランチを作成したいとしましょう。次のコマンドで作成できます。

git branch v0.9.1

このコマンドは、v0.9.1という名前の新しいブランチを作成します。ただし、このコマンドを実行しても、開発環境はリポジトリのHEADに接続されたままです。そのため、新しいブランチに移動したい場合は、git checkoutコマンドを使う必要があります。

新しいブランチを作成しても、リポジトリには「新しいブランチが存在する」という事実以外、何の変更も加えられません。リポジトリの履歴はそのまま維持されます。これは、ブランチを作成するとき、Gitは新しいブランチへのポインタを作成するだけだからです。

ブランチにコードをコミットし始めたい場合は、git checkout、git add、git commitコマンドを使用する必要があります。

ブランチを削除する

Gitリポジトリ内のブランチを削除するには、-dフラグを使用します。

たとえば、v0.9.1ブランチをコードから削除することにしたとしましょう。ブランチを削除するには、次のコマンドを使用します。

git branch -d v0.9.1

このコマンドでブランチが削除されます。ただし、-dフラグは安全な削除操作を行います。つまり、未マージの変更(他のブランチにマージされていないブランチ上の変更)が残っている場合、そのブランチは削除されません。これにより、マージしたいコードを含むブランチに誤ってアクセスできなくなる事故を防げます。

未マージの変更があっても強制的にブランチを削除したい場合は、-Dフラグを使用します。これにより、ブランチが完全に削除されます。-Dフラグの構文は次のとおりです。

git branch -D v0.9.1

このコマンドを実行すると、ブランチが削除されます。-Dフラグは、ブランチの削除が確実に必要な場合にのみ使用してください。実行時に警告が一切表示されないためです。

git branch -d/-Dコマンドを実行すると、ブランチのローカルコピーが削除されます。ただし、リポジトリがリモートに保存されている場合、ブランチはリモートリポジトリ上にはまだ存在している可能性があります。

ブランチのリモートコピーを削除したい場合は、別のコマンドを実行する必要があります。たとえば、リモートリポジトリにv0.9.1ブランチを削除するよう指示したいとしましょう。その場合は、次のコマンドを使用します。

git push origin :v0.9.1

上記のコマンドは、リモートリポジトリに対してv0.9.1ブランチを削除するよう指示します。

ブランチの名前を変更する

Gitのブランチ名は、-mフラグを使って変更できます。

-mフラグは、現在表示しているブランチの名前を変更します。たとえば、現在表示しているv0.9.2ブランチをv1に変更したいとしましょう。次のコマンドで変更できます。

git branch -m v1

このコマンドにより、表示中のブランチ名がv1に変更されます。

まとめ

git branchコマンドは、ブランチの作成、名前変更、削除に使用できるコマンドです。また、Gitリポジトリに関連付けられたブランチの一覧を取得するのにも活用できます。

ただし、ブランチにコードをコミットしたい場合は、変更をコードベースに保存するために使われるgit checkout、git add、git commitなどのコマンドを併用する必要があります。

このチュートリアルでは、実例を交えながらGitのブランチの基本とgit branchコマンドの使い方について解説しました。これで、プロフェッショナルな開発者のようにGitでブランチを操作するための知識が身についたはずです!

  1. Gitリセットでコミットを取り消す!基本から実践テクニックまで徹底解説

    個人でもチームでも、プロジェクトを進めていると「コミットを取り消したい」という場面に遭遇することがあります。そんなときに頼りになるのが git reset コマンドです。まさに命綱とも言えるツールの一つでしょう。 Gitの追跡メカニズム git reset を理解する前に、まずGitの内部構造について押さえておきましょう。Gitは、ノードとポインタで構成されるツリー構造によってファイルを管理・追跡しています。 ローカルのGitリポジトリには、基本的に次の3つの「ツリー」が存在します。 作業ディレクトリ(Working Directory):ワーキングツリーとも呼ばれ、ローカルディレク

  2. ローカルおよびリモートのGitブランチを削除する方法【コマンド解説】

    多くの開発者にとって、Gitの活用はもはや必須スキルといえます。その最大の理由は、プロジェクト内のあらゆる変更を意識せずに記録できる点にあります。ただし、作業を進めるうちに「不要になったブランチを整理したい」と考える場面は自然に訪れます。ローカルおよびリモートのGitブランチを削除したいという状況です。気持ちは理解できますが、具体的な手順となると戸惑う方も少なくありません。 本記事では、ローカルとリモートのGitブランチを削除する方法を詳しく解説します。その前に、まずGitの仕組みについて簡単におさらいしておきましょう。 Gitの基礎知識:まずは全体像をつかもう 記事の本題に入る前に、Git