1
3

More than 3 years have passed since last update.

Git ブランチ機能とマージについて

Last updated at Posted at 2021-05-18

Gitのブランチと使い方

そもそもブランチというのはどういう仕組みでできているのか
分かっていないと、自分の意図しない動きをしてしまうので
よく理解しておきたい。

ブランチというのは、同時並行で複数人で開発するための機能であって
ブランチを分岐をさせることによって、他の方影響を受けないで、
開発を進められるという利点がある。

ブランチとは、コミットファイルを指し示した、リンク機能みたいなもので
a タグのようなシンプルな機能でしかないことに注意するべき、
HEADはどこを指しているのかも重要な観点

ブランチを新規作成コマンド

branch
git branch <ブランチ名>
# git branch feature
# ブランチの作成をするだけでブランチの切り替えまでは行わない

現在のブランチの一覧表示するためのコマンド

branch
git branch
# 現在、存在するブランチ名だけを表示

git branch -a
# リモートブランチも含めて全て表示してくれる

それぞれのブランチがどのコミットを指しているのかを知りたい時に
使用してみるといいコマンド
--onelineコマンドは単純に一行で表示してくれるコマンドで、
--decorateコマンドが実際の情報を表示してくれるコマンド

log
git log --oneline --decorate

ブランチを切り替える

checkout
git checkout <既存のブランチ名>
# git checkout feature

git checkout -b feature
# ブランチの新規作成と切り替えを同時に行ってくれる

マージの使い方

マージというのは、他の人の変更内容を取り込む作業のことであって
gitの中で怖い:scream:とされる作業の一つ
しっかりと使いこなしていきたい

merge
git merge <ブランチ名>
git merge <リモート名/ブランチ名>
# git merge origin/master

注意としては、統合(merge)したいブランチに移動してから、コマンドを実行すること:bangbang:

マージには三種類ある

  1. Fast Foward ブランチが枝分かれしてない時に、ブランチのポインタを前に進めただけ
  2. Auto Merge 一般的にイメージされるマージで、ブランチが複数に枝分かれしている時に、統合する時に行われる
  3. Conflict 同じファイルの同じ行に対して、複数人が異なる変更を行なった時に起こる現象

コンフリクトは起きてしまっても焦らず、どんな変更があったのかを見て
適切に変更すれば処理できるので、とにかく焦らないこと。

注意点としては、以下
1. 複数人で同じファイルを変更しない
2. pullやmergeをする前に変更中の状態をなくしておく(commitやstashを実行しておく)
3. pullする時は、pullするブランチに移動してからpullする
4. とにかく慌てない

ブランチ名の変更・削除

ブランチ名を変更したい時
git branch -m <ブランチ名>
# git branch -m new_branch
ブランチを削除したい時
git branch -d <ブランチ名>
# git branch -d feature

git branch -D <ブランチ名>
# 強制的に削除したい時に使えるコマンド

例えば、ブランチがmasterとfeatureの二つが存在した時に
上の小文字の"-d"での削除コマンドを押した時には、
もし、masterにfeatureの変更をmergeしてない時に
エラーメッセージを出してくれる、とても頼もしいコマンド

おまけ ~> ブランチの運用ルール

masterブランチはあくまで、リリース用のブランチとして使い、
開発は、別のブランチを作成して進めるのが基本の型

1
3
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
1
3