0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gitのブランチとは(初心者向)

Posted at

ブランチとは何か

メインの作業に加えて新しい機能を追加する際など、
作業を分岐して開発することを指します。

スクリーンショット 2022-10-09 8.24.36.png

mainブランチの作業に加えて"C"をコミットした際、全く異なる開発を並行作業したい場合
subブランチ(仮名)を作成し、mainブランチとは異なる開発を並行して進めることができます。

ブランチを作成する

ブランチを作成には次のコマンドを実行します

$ git branch sub

// git branch "ブランチ名"

作成したブランチを一覧表示する

次のコマンドでブランチ設定を確認できます

// ブランチの一覧を表示したい
$ git branch

// GitHubを含めた全てのブランチを確認したい
$ git branch -a 

例:git branchの実行結果
スクリーンショット 2022-10-09 22.45.16.png

ブランチを切り替える方法

見本のようにブランチを作成しただけでは、putする対象のブランチは変更されません。

$ git switch sub
// git switch ブランチ名 

$ git switch -c sub2
// ブランチを新規作成した後に切り替える

例:sub2ブランチを作成し切り替えた場合
スクリーンショット 2022-10-09 22.54.34.png

ブランチで分岐した内容をマージ(取り込み)する

見本のようにmain sub sub2などブランチを複数用意し
各々のブランチへ変更内容を登録した場合、
内容を1つのブランチへ結合することができます

// 現在のブランチがmainで、subの情報を取り込みたい場合
$ git merge sub
// git merge 対象のブランチ名

GitHubにあるブランチをローカル上でマージ(結合)したい場合

$ git merge origin/sub
// git merge リモート名/取り込み対象のブランチ名

ブランチのコンフリクト(衝突)について

例えば、sub sub2の各ブランチにindexファイルが存在し
同じ3行目部分をそれぞれ異なる内容で修正したとします

この状況でブランチのマージを実行した場合起きる事象が
コンフリクト(衝突)です。

コンフリクト状態で実行しようとした場合のエラーメッセージ

訳:自動マージに失敗しました。競合を修正し結果をコミットします。
スクリーンショット 2022-10-11 10.41.32.png

コンフリクトの場合の実行結果(見本)

  • git mergeを実行するとワークツリーのファイルがマージされた状態に更新されます
  • コンフリクト状態になった場合は次の見本のように記号で追加情報が区別されます

スクリーンショット 2022-10-11 12.58.39.png

  • HEAD=現在のブランチ
  • sub2=取込みする対象から取得した変更コード

コンフリクトが発生した場合の修正方法

  • <<,==,>>などの記号を含む不要なコードを削除し上書きする
  • コマンド git reset --hard でマージ前の状態に戻す

GitHub(リモート)からローカルへ情報を取得する方法

GitHubに最新の状態のデータがある場合、ローカルのデータを最新な状態にするには
pullコマンドを使います

git pull origin main
// git pull リモート名 ブランチ名
// git pull 以降は省略が可能です

プルコマンドに似たフェッチコマンドについて

同じくGitHub(リモート)からローカルリポジトリに情報を取得するコマンドに
fetchコマンドが存在します

fetchコマンドを実行した場合ローカルリポジトリへ情報を取得しますが、
ワークツリー(作業環境)までは更新されません。
fetchで情報を取得した場合、ワークツリーの情報も更新したい場合は
mergeコマンドも実施する必要があります

fetchコマンドを使う場面とは

ローカルリポジトリとGitHub上のデータでコンフリクトが発生しそうな場合などに
fetchコマンドで情報を確認し、mergeを行う流れが推奨される場面があります

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?