致命的: 早送りできません、GITプルエラーを中止します

git pullまたはgit merge操作を実行しようとすると、プロセスが中止されたことを示すエラーが表示されます。--ff-onlyを使用してプロセスを強制しようとすると機能せず、同じエラーが表示されます。この投稿では、この問題について説明し、致命的なエラー: 早送りできません、GITプルエラーを中止しますが発生した場合に対処する方法について説明します。

致命的なエラーを修正: 早送りできません、GITプルエラーを中止します

致命的なエラー: 早送りできません、GITプルエラーを中止します。が発生した場合は、問題を解決するために以下に示す解決策に従ってください。

  1. リベースをプルする
  2. マスターブランチからの変更を新しいブランチにマージする

それらについて詳しく説明しましょう。

1] リベースでプルする

通常の「git pull」コマンドを使用する代わりに、「git pull –rebase」コマンドを選択できます。このコマンドはリモートブランチから最新の変更を取得し、更新されたブランチの上にローカルコミットを適用します。このメソッドは、異なるブランチの問題を解決するのに役立ちます。

リベースでプルするために実行する必要があるコマンドを以下に示します。

まず、次のコマンドを実行して問題のあるブランチをチェックアウトします。

git checkout <branch-name>

次に、「git pull –rebase」コマンドを使用してリモートブランチの変更を取得し、その上にローカルコミットを再生します。

git pull --rebase origin <branch-name>

競合がない場合、Gitは更新されたブランチの上に変更を自発的にコミットします。ただし、競合が発生した場合、リベースプロセスは停止し、競合するファイルについて通知されます。マージツールを使用するか、ファイルを手動で編集して競合を解決できます。競合を解決した後、「git rebase –continue」を使用します。

git rebase --continue

リベースプロセスが完了したら、変更をリモートリポジトリにプッシュできます。

git push origin <branch-name>

これで目的が達成されます。

2] マスターブランチからの変更を新しいブランチにマージする

ローカルブランチがリモートブランチに含まれている場合、マスターブランチからの変更を新しいブランチに簡単にマージできます。同じ操作を実行するには、以下に示すコマンドを実行できます。

まず、次のコマンドを実行します。

git pull

次に、以下に示すコマンドを実行してブランチを作成し、origin/masterヘッドをローカルブランチにチェックする必要があります。

git checkout -b new_branch origin/master

マージの競合が発生した場合は、競合するファイルを編集して解決します。次に、変更をステージングしてコミットします。新しいブランチを作成した後、マスターブランチからの変更をシームレスにマージできます。

プルしようとしたときに早送りの中止ができないのはなぜですか?

プルしようとしたときに早送りの中止ができないという致命的なエラーは、Gitが変更を自動的にマージできないことを意味します。これらは主に、ローカルブランチとリモートブランチの間の競合する変更、およびリモートブランチでのローカルブランチの不在によって引き起こされます。

gitで早送りできるのは何ですか?

Gitでは、早送りは、ターゲットブランチのHEADがソースブランチのHEADから直接到達可能な場合に発生する一種のマージです。つまり、基本的には、ソースブランチが作成されて以来、ターゲットブランチで新しいコミットは発生していません。したがって、Gitは、新しいマージコミットを作成せずに、ターゲットブランチのHEADポインタをソースブランチのHEADに単純に移動します。