ブランチをマージしたときに、約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」を含むすべての変更されたファイルが表示されます。ステージングされていないファイルは表示されません。ファイルを繰り返し追加しようとしましたが、何もしないようです。ファイルを開くと、すべてが素晴らしく見えます。
何か案は?私は完全に立ち往生しています。
何が悪いのかはわかりませんが、試してみてください
git reset app/models/disclosure_even.rb
git add app/models/disclosure_even.rb
そしてコミットします。
今日、ブランチのマージ(リベースではない)に関してまったく同じ状況がありました。
あなたの場合、エラーが発生したファイルを見つけます:
U app/models/disclosure_event.rb
gitステータスがありませんでした。しかし、gitk GUIではマージされていないと見なすことができます。また、作業コピーにはありませんでした(私の場合は別の場所に移動しました)。
私は試した git rm
、それは問題を解決しました:
git rm app/models/disclosure_event.rb
リモートをOrigin
に設定し、ブランチをmaster
に設定し、すでにmaster
をチェックアウトしていると言って、次のことを試してください。
git fetch Origin git reset --hard Origin/master
現在のブランチを設定し、リモートブランチのHEADを指すようにします。
前にリベースでそのような状況に遭遇しました。 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:競合により進行がブロックされる
ただし、マージするかどうかはわかりません。
私は運のない2つの提案を試みました。そして、HEADにリセットすることができなかったので、リポジトリを再クローンし、マージ全体を実行しましたが、問題はありませんでした。それが価値があることについては、vimdiffよりもp4mergeを強くお勧めします...