ホームページ  >  記事  >  バックエンド開発  >  git pull ファイルを使用するときにローカル ファイルと競合する場合はどうすればよいですか?

git pull ファイルを使用するときにローカル ファイルと競合する場合はどうすればよいですか?

伊谢尔伦
伊谢尔伦オリジナル
2016-11-21 15:23:51975ブラウズ

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 はコンテンツのどの行が必要かわからないため、必要なコンテンツを自分で判断する必要があります。
解決策が完了したら、通常どおり送信できます。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。