1. ホーム
  2. git

[解決済み】未マージファイルがあるため、Gitマージができない

2022-02-15 18:22:36

質問

gitは役に立たないエラー警告で私を混乱させ続けている これは本当に賞に値するものです。

git merge is not possible because you have unmerged files

私の状況です。github上のmasterブランチが編集され(ブラウザで直接)、ローカルのmasterブランチも編集されました。

私は間違って、あなたは単に2つのバージョンをマージして終了することができると思いますが、また、私はマージすることはできません - 私のファイルはマージされていないためです。

git merge remote/master

の結果

error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

そこで、ローカルでの変更を追加してコミットした後、もう一度マージしようとすると、次のようになります。

merge: remote/master - not something we can merge

明らかに、私はここで何か本質的なことを見逃しているようです...。マージの意味について、私は間違って理解しているのでしょうか?リモートマスターとローカルマスターのブランチが異なるという問題は、どうすれば解決できるのでしょうか?

解決方法は?

エラーメッセージが表示されます。

merge: remote/master - マージできるものではありません。

は、Git が remote/master . これはおそらく、"remote" という名前の "remote" を持っていないためです。あなたは "origin" という名前の "remote" を持っています。

remotes" は、Git サーバーへの URL のエイリアスだと考えてください。 master は、ローカルにチェックアウトされたブランチのバージョンです。 origin/master は最新バージョンの master を Git サーバーから取ってきた (ダウンロードした) ものです。A fetch は、ブランチの "origin/x" バージョンしか更新しないので、常に安全です。

そのため master ブランチの同期を取り戻すには、まず git サーバーから最新の内容をダウンロードします。

git fetch

次に、マージを実行します。

git merge origin/master

...しかし、おそらく、より良いアプローチは、次のようになります。

git pull origin master

pull コマンドは fetchmerge をワンステップで提供します。