web-dev-qa-db-ja.com

Gitはファイルがマージされておらずコミットできないと言っていますが、ファイルはマージされているようです

ブランチをマージしたときに、約12のファイルの競合がありました。すべての競合を手動で修正し、ファイルをステージングしました。しかし、今、コミットしようとすると、ファイルの1つがマージされていないというメッセージが表示されます。

U      app/models/disclosure_event.rb
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.

git statusと入力すると、Changes to be committedの下に「disclosure_event.rb」を含むすべての変更されたファイルが表示されます。ステージングされていないファイルは表示されません。ファイルを繰り返し追加しようとしましたが、何もしないようです。ファイルを開くと、すべてが素晴らしく見えます。

何か案は?私は完全に立ち往生しています。

43
Adam Albrecht

何が悪いのかはわかりませんが、試してみてください

git reset app/models/disclosure_even.rb
git add app/models/disclosure_even.rb

そしてコミットします。

59
Ryan Stewart

今日、ブランチのマージ(リベースではない)に関してまったく同じ状況がありました。

あなたの場合、エラーが発生したファイルを見つけます:

U      app/models/disclosure_event.rb

gitステータスがありませんでした。しかし、gitk GUIではマージされていないと見なすことができます。また、作業コピーにはありませんでした(私の場合は別の場所に移動しました)。

私は試した git rm、それは問題を解決しました:

git rm app/models/disclosure_event.rb
13
alexkasko

リモートをOriginに設定し、ブランチをmasterに設定し、すでにmasterをチェックアウトしていると言って、次のことを試してください。

 git fetch Origin 
 git reset --hard Origin/master 

現在のブランチを設定し、リモートブランチのHEADを指すようにします。

7
Md. Ranju Mia

前にリベースでそのような状況に遭遇しました。 Gitは、いくつかのファイルをマージ前の状態のままにしておき、まだマージしていないと判断します。そのとき、私はグーグルで検索して、ちょうどやるべきことをたくさん見つけましたgit rebase --skip。それは私のために働いた。

そのような場合の詳細な説明: http://git.661346.n2.nabble.com/BUG-git-rebase-is-confuse-if-conflict-resolution-doesn-t-produce-diff-td726597 .html

同様の問題: Git rebase:競合により進行がブロックされる

ただし、マージするかどうかはわかりません。

3
Ivan Danilov

私は運のない2つの提案を試みました。そして、HEADにリセットすることができなかったので、リポジトリを再クローンし、マージ全体を実行しましたが、問題はありませんでした。それが価値があることについては、vimdiffよりもp4mergeを強くお勧めします...

3
Adam Albrecht