本文へ移動
Git
The git rebase command reapplies commits from the current branch onto another base tip, helping create a cleaner, more linear history when used appropriately.
git rebase
Git の git rebase コマンドは、ブランチの履歴を整理するために使われる強力なツールです。
git rebaseの基本的な概念
git rebase は、現在のブランチにあるコミットを、指定したブランチやコミットの先端を新しい土台として順番に再適用し、履歴を作り直す操作です。通常はマージコミットを増やさず、直線的な履歴に整理しやすくなります。
git rebaseの主な用途
履歴のクリーンアップ
開発中にコミットした小さな変更や、冗長なコミットメッセージを整理するために使います。
ブランチの最新化
他のブランチでの変更を取り込み、自分のブランチを最新の状態にするために使います。
git rebaseの種類
インタラクティブリベース (git rebase -i)
コミットを再構成する際に、どのコミットを残し、どのコミットをスカッシュ(まとめる)するか、どのコミットを修正するかを指定できます。
非インタラクティブリベース
git rebase main のように、編集画面を開かず、現在のブランチの対象コミットを指定した土台の上へ順番に再適用します。
git rebaseの基本的な使い方
基本的なリベース
git switch feature-branch
git rebase main
feature-branch にあるコミットを、ローカルの main の先端を新しい土台として再適用します。リモートの最新状態に直接合わせたい場合は、先に git fetch origin で origin/main を更新し、git rebase origin/main のようにリモート追跡ブランチを指定します。
インタラクティブリベース
git switch feature-branch
git rebase -i main
インタラクティブモードでリベースを実行し、履歴を編集します。
インタラクティブリベースの操作例
git rebase -i は、複数のコミットを編集、並び替え、統合、削除するためのインタラクティブリベースです。コミット履歴を整理したり、コミットメッセージを修正したりできます。
git rebase -i を実行すると、次のような編集画面が表示されます。
pick e5f6d3a First commit
pick a3c7e8b Second commit
pick 3b9d2b9 Third commit
この画面で、各コミットに対して以下のような操作が可能です。
pick (もとのままコミットを適用)
reword (コミットメッセージを変更)
edit (コミット内容を修正)
squash (前のコミットとまとめる)
fixup (前のコミットとまとめ、メッセージは破棄)
drop (コミットを削除)
git rebaseの注意点
公開済みブランチをリベースする場合
他の開発者がすでに利用している公開済みコミットをリベースすると、既存のコミットとは別の新しいコミットとして履歴が作り直されます。そのため、共同作業者の履歴と食い違い、再取得や再リベースが必要になることがあります。一般的には、他の人が作業の土台にしている公開済みブランチのリベースは避けます。
コンフリクトの解決
リベース中にコンフリクトが発生した場合は、対象ファイルを手動で修正し、git add ファイル名 で解決済みとして記録してから、git rebase --continue で続行します。中止したい場合は git rebase --abort、そのコミットを飛ばす場合は git rebase --skip を使います。
リベース後の push
リベースで push 済みのコミットを書き換えた場合はコミットIDが変わるため、すでにリモートへ push 済みのブランチでは通常の git push が拒否されることがあります。必要な場合でも、単純な --force ではなく --force-with-lease を検討し、チーム内で共有してから実行します。
Home
サイトのトップページ
HTML (HyperText Markup Language)
ウェブページの基本的な構造を作成します。見出し、段落、リンク、画像などの要素を定義します。
CSS (Cascading Style Sheets)
ウェブページのデザインやレイアウトを設定します。色、フォント、レイアウトなどのスタイルを指定します。
JavaScript
ウェブページにインタラクティブな動作を追加します。フォームの検証、アニメーション、リアルタイムのデータ処理などを行います。
DOM
ブラウザがHTMLから作る「画面の裏側のツリー」を理解して、要素の取得・更新・イベント処理を迷わず組み立てられるようにする。
PHP (Hypertext Preprocessor)
サーバー上で動作してデータベースと連携し、動的なWebページを簡単に作成できるスクリプト言語です。
Git
Gitとは、ソースコードなどのバージョン管理を行うための分散型バージョン管理システムです。
git add
作業ディレクトリ内の変更を次のコミットに含めるためにステージングエリアに追加するコマンドです。
git fetch
リモートリポジトリの最新情報を取得してローカルに反映せずに確認だけできるコマンドです。
git push
ローカルリポジトリで行った変更をリモートリポジトリに反映するためのコマンドです。
git switch
指定したブランチに簡単かつ安全に切り替えるためのコマンドです。
Simple Check List
Click item to move to bottom.