ホームページ >バックエンド開発 >PHPチュートリアル >git pull ファイルを使用するときにローカル ファイルと競合する場合はどうすればよいですか?
git プル コードを使用すると、頻繁に競合が発生し、次のメッセージが表示されます:
エラー: 'c/environ.c' へのローカル変更はマージによって上書きされます。中止します。
変更をコミットするか、スタッシュしてください。
これは、更新されたコンテンツがローカルで変更されたコンテンツと競合することを意味します。最初に変更を送信するか、最初にローカルの変更を一時的に保存します。
処理方法は非常に簡単で、主にgit stashコマンドを使用し、以下の手順に分かれます。
1. まずローカルの変更を保存します
$ git stash
この方法で、すべてのローカルの変更が一時的に保存されます。 git stash list を使用して、保存された情報を確認できます。
git stash の一時的な変更
git stash の一時的な変更
stash@{0} は、保存されたばかりのマークです。
2. コンテンツをプルします
ローカルの変更を一時的に保存した後、プルできます。
$ git pull
3. 一時コンテンツを復元します
$ git stash Pop stash@{0}
システムは次のようなメッセージを表示します:
c/environ.c
CONFLICT の自動マージ: c/environ.c
のマージ競合は、システムが変更されたコンテンツを自動的にマージしますが、競合が存在するため、競合を解決する必要があることを意味します。
4. ファイル内の競合する部分を解決します
競合しているファイルを開くと、次のような内容が表示されます:
git 競合コンテンツ
git 競合コンテンツ
Updated Upstream と ===== It の間のコンテンツはプルされたコンテンツであり、==== と隠し変更の間のコンテンツはローカルで変更されたコンテンツです。この場合、git はコンテンツのどの行が必要かわからないため、必要なコンテンツを自分で判断する必要があります。
解決策が完了したら、通常どおり送信できます。