0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんにちは!

開発で git merge コマンドを利用してますが、よく忘れるのでまとめ。(使いそうなものだけ)

ネタ元はこちら

基本コマンド

1. 通常のマージ

git merge <ブランチ名>

指定したブランチの変更を現在のブランチに統合します。

オプション

1. マージコミットの制御

  • --ff(デフォルト)
    • 可能な場合はfast-forwardで実行
    • マージコミットを作成しない

※fast-forward は、マージコミットを作成せず、単純にブランチのポインタを最新のコミットまで進める、ということらしい。

  • --no-ff

    • 必ずマージコミットを作成
    • ブランチの統合履歴を明確に残したい場合に使用
  • --ff-only

    • fast-forwardできる場合のみマージを実行
    • できない場合は中止

2. コミット制御

  • --no-commit

    • マージ後のコミットを自動で行わない
    • マージ結果を確認してから手動でコミットしたい場合に使用
  • --squash

    • ブランチの全変更を1つのコミットにまとめる
    • 履歴をシンプルに保ちたい場合に有効

3. コンフリクト発生時(発生後)のオプション

  • --abort

    • マージを中止して元の状態に戻る
  • --continue

    • マージを続行(解決した場合)

※コンフリクト発生に備えたものではなく、コンフリクト発生後、

git merge --abort

のように、中止するか、継続するかのオプションです。

4. その他

  • -m "<メッセージ>"

    • マージコミットのメッセージを指定
  • --stat

    • マージ時の変更統計を表示
    • どのファイルが変更されたかを確認可能
$ git merge xxx-branch --stat

# 以下のような統計情報が表示されます
src/main.js        | 25 +++++++++++++++----------
src/utils.js       |  8 ++++++++
test/main.test.js  |  5 +++--
3 files changed, 26 insertions(+), 12 deletions(-)

まとめ

git marge コマンドは非常に便利ですが、コミットを作るか、履歴をどうするか等、リポジトリの運用に関わる部分があります。

開発体制にもよりますが、リポジトリの運用方針を確認し、適切に使いましょう。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?