Instiq
第2章 · リポジトリの操作·v1.1.0·更新 2026/6/15·読了目安 約9分

変更要約: 本文を拡充(図解を追加)

2.3ブランチ・統合・取り消し

ブランチは並行開発の要です。main を安定させたまま、feature ブランチで安全に変更を試せます。

■ 作成と切り替え ・git branch=ブランチの作成/一覧。 ・git switch <branch>(従来は git checkout)=ブランチの切り替え。git switch -c <name> で作成と切替を同時に行えます。

■ 統合:merge と rebase(下図) ブランチの変更を取り込むには2つの方法があります。 ・merge=両者の履歴を保ったまま、合流点を示す「マージコミット」で統合する。経緯が残るのが特徴。 ・rebase=自分のコミットを対象ブランチの先端に並べ直し、履歴を直線的にする。きれいな履歴になる一方、共有済みのコミットを rebase すると履歴が食い違うため注意。 同じ箇所を別々に変更すると「マージコンフリクト」が起きます。その場合は該当箇所を手動で解決し、統合を完了させます。

■ 取り消し・一時退避・目印 ・git revert <commit>=打ち消しコミットを「追加」するため、共有済みでも安全に取り消せる。 ・git reset=履歴やステージを巻き戻す(--hard は変更を失うので注意)。 ・git stash=未コミットの変更を一時退避し、後で戻せる。 ・git cherry-pick <commit>=特定のコミットだけを今のブランチに取り込む。 ・git tag=リリース地点などに目印を付ける。 注意:共有ブランチへの force push(強制プッシュ)は履歴を上書きし、他者の作業を失わせる危険があるため原則避けます。

図解

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 公開(push)済みのコミットを安全に打ち消すには?

Q2. merge と rebase の違いとして正しいものはどれですか?

理解度を確認第2章「リポジトリの操作」の問題を解く