1. ホーム
  2. Git

エラーが発生しました。マージされていないファイルがあるため、プリングはできません

2022-02-13 20:12:54

git pullすると、以下のエラーが発生します。

 エラーです。未マージファイルがあるため、展開できません。

解決策1(推奨しません)。

ローカルプッシュとマージは、MERGE-HEAD (FETCH-HEAD) や HEAD (PUSH-HEAD) のような参照を作成します。HEADは最近プッシュが成功した後に形成されたローカルな参照を表します。MERGE-HEAD や HEAD を使って、svn revet と同じ種類の効果を得ることができます。ローカルの競合ファイルをフラッシュするには、MERGE-HEAD または HEAD にリセットするだけでなく、-hard も必要です。ステージエリアのみがフラッシュされます

git reset --hard FETCH_HEAD

git pull


<スパン 上記の解決策は非常に、負担が大きく、エラーは修正されますが、最初のノードに戻ります。ローカルコードを修正したがコミットしていない場合、最初にリセットを使用すると、その修正したコードが失われる可能性があります。

正式な環境では推奨されませんので、無用な損害を与えてしまったことをここでお詫びします、申し訳ありません

正しい解答はこちらです。

//comment: commit local code to workspace
//comment: if there is a conflict, resolve the conflict and merge the code first, then commit
//comment: If there is no conflict in the code, but git alerts you to a conflict when you commit, close the editor first, then compile the code to find the conflict, and finally merge the code manually to resolve the conflict
git add .
git commit -m 'Commit local code and get the latest code'
//comment: get the latest code from the source dev branch
git pull origin dev
//comment: resolve conflicts if there are any


ここで注意しなければならないのは、reset を直接使うのではなく、ローカルで修正したコードをコミットするか隠しておき、後で取得することです。