Git ブランチをリベース

John Wachira 2022年8月23日
Git ブランチをリベース

このチュートリアルでは、git fetchgit rebase、および git push コマンドを使用してローカルブランチをリモートマスターブランチにリベースするために実行できるさまざまな手順について説明します。

ローカルブランチを Git のリモートマスターブランチにリベースする

  1. 変更を取得します

    git fetch コマンドを使用して、リモートリポジトリからすべての変更を取得します。

    pc@JOHN MINGW64 ~/Git (Branch1)
    $ git fetch
    remote: Enumerating objects: 3, done.
    remote: Counting objects: 100% (3/3), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (3/3), 610 bytes | 3.00 KiB/s, done.
    From https://github.com/Wachira11ke/Delftscopetech
     * [new branch]      main       -> origin/main
    
  1. 変更を加える

    git rebase コマンドを実行して、ブランチへの変更を統合します。以下の例では、現在のブランチをメインブランチからリベースします。

    pc@JOHN MINGW64 ~/Git (main)
    $ git rebase main
    Current branch main is up to date.
    

    コンフリクトが発生した場合は、git add . コマンドを使用して解決します。git add . コマンドの後には、git commit コマンドを実行しないでください。

    競合を解決したら、git rebase --continue を使用してプロセスを終了します。競合を解決した後でプロセスを中止する場合は、git rebase --abort コマンドを使用します。

  2. 変更をリモートリポジトリにプッシュします

    ローカルリポジトリにコンテンツをアップロードするには、以下に示すように git push -f コマンドを使用します。

    git push main HEAD -f
    

    -f は、リモートリポジトリ内の他の開発者によって行われた変更を上書きします。

    以下は、変更をリモートリポジトリにプッシュするためのより安全な方法です。

    git push --force-with-lease main HEAD
    

    このコマンドは、リモートリポジトリ内の他の開発者によって行われた変更を上書きしません。

    リベースとマージは、あるブランチから別のブランチへの変更を統合するために使用されます。リベースは、ブランチ履歴を乱すことなく機能ブランチを更新するプロセスであり、よりクリーンなコミット履歴を可能にします。

    これは、他のユーザーと共有すると競合するブランチを作成する可能性がある git merge の反対です。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - Git Rebase