Git の普及に伴い、多くの開発者は、特にプル操作中に予期しないマージに遭遇することがあります。この場合の簡単な解決策は、間違ったマージがプロジェクトに与える影響を避けるために、元の状態に戻って新しいブランチを再度開始することです。この記事では、プル操作をロールバックする方法を説明します。
まず、プル操作の概念を明確にする必要があります。プルとは、リモート リポジトリから最新バージョンを取得し、それをローカル ブランチにマージすることを意味します。通常、次のコマンドを使用してプルします。
git pull origin master
上記のコマンドは、リモート ウェアハウスのオリジンの master ブランチから最新バージョンを取得し、それをローカルの master ブランチにマージすることを意味します。この時点でローカル ブランチにコミットされていない変更がある場合は、プル操作を実行する前に変更をコミットして競合を解決する必要があります。
最新のコミットにロールバックするだけの場合は、以下に示すように git restart コマンドを使用できます。
git reset --hard HEAD^
上記のコマンド最新のコミットをリセット (巻き戻し) します。ローカルの変更を上書きするには --hard パラメータを使用する必要があるため、変更のバックアップがあることを確認してください。
複数の送信のいずれかにロールバックする場合は、コミット ID をパラメーターとして使用できます。たとえば、次のコマンドはコミット ID 123456 のコミットにロールバックします:
git reset --hard 123456
このコマンドは以前の変更をすべて上書きすることに注意してください。慎重に操作してください。
間違ったマージを行うと、リモート ブランチへのロールバックが必要になる場合があります。この場合、リセットすると、以前にマージされたすべての変更が失われます。リモート ブランチにロールバックするには、次のコマンドを使用できます。
git reset --hard origin/master
上記のコードは、ローカル ブランチをリモート ウェアハウスのマスター ブランチにリセットします。このコマンドは以前のすべての変更も上書きするため、注意して続行してください。
マージ操作を実行した後、マージを拒否して他の操作を続行する必要がある場合があります。この場合、次のコマンドを使用できます:
git revert -m 1 <commit-hash>
このコマンドは、前のコミットを取り消します。 2 つ以上の親マージ コミットがある場合は、-m 1 パラメーターを使用してプライマリ コミットを指定する必要があります。場合によっては、複数のコミットをマージする必要がある場合、このコマンドは非常に実用的です。
ロールバックする前に、特定の変更を保持する必要がある場合があります。この場合、次のコマンドを使用できます。
git stash
上記のコマンドは、現在の作業ディレクトリとインデックスのステータスをスタックに保存し、現在のステータスをクリアします。これは、他の変更による矛盾した影響を受けることなく、リセット/ロールバック操作を安全に実行できることを意味します。変更を取得した後、次のコマンドを使用して変更を元に戻すことができます。
git stash apply
これにより、保存された変更が作業ディレクトリに復元され、結果がインデックスにマージされます。
前述したように、プル操作をロールバックするには多くの方法があり、それぞれの方法が異なり、異なる手順が必要になる場合があります。ロールバックする前に、すべての変更をバックアップし、ロールバック方法を確認してください。不明な場合は、すべての変更をバックアップし、続行する前にチームのメンバーまたはより経験豊富な同僚に相談してください。
以上がgit でプル操作をロールバックする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。