Git ブランチをリベース
このチュートリアルでは、git fetch
、git rebase
、および git push
コマンドを使用してローカルブランチをリモートマスターブランチにリベースするために実行できるさまざまな手順について説明します。
ローカルブランチを Git のリモートマスターブランチにリベースする
-
変更を取得します
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
-
変更を加える
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
コマンドを使用します。 -
変更をリモートリポジトリにプッシュします
ローカルリポジトリにコンテンツをアップロードするには、以下に示すように
git push -f
コマンドを使用します。git push main HEAD -f
-f
は、リモートリポジトリ内の他の開発者によって行われた変更を上書きします。以下は、変更をリモートリポジトリにプッシュするためのより安全な方法です。
git push --force-with-lease main HEAD
このコマンドは、リモートリポジトリ内の他の開発者によって行われた変更を上書きしません。
リベースとマージは、あるブランチから別のブランチへの変更を統合するために使用されます。リベースは、ブランチ履歴を乱すことなく機能ブランチを更新するプロセスであり、よりクリーンなコミット履歴を可能にします。
これは、他のユーザーと共有すると競合するブランチを作成する可能性がある
git merge
の反対です。
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