どうやらスタッシュと競合するブランチをマージしたため、スタッシュをポップできません。現在、スタッシュはポップできないようです。
app.coffee: needs merge
unable to refresh index
誰もこれを解決する方法を知っていますか?
修正済み
実際の問題は、マージからの未解決のマージ競合であったことが判明しました。NOTスタッシュがマージ競合を引き起こすということです。
解決策:競合するファイルをコミットします。
まず、git status
を確認します。
OPが述べているように、
実際の問題は、マージによる未解決のマージ競合であり、stashがマージ競合を引き起こすことではありません。
git status
がそのファイルを "both modified
"として言及する場所です
解決策:競合するファイルをコミットします。
4日前にこの回答を書いている時点で同様の状況を見つけることができます(2012年3月13日)この投稿: " 'マージされていないファイルがあるため、プルはできません ' ":
julita@yulys:~/GNOME/baobab/help/C$ git stash pop
help/C/scan-remote.page: needs merge
unable to refresh index
あなたがしたことは、マージの競合を修正することでした(正しいファイルを編集してコミットします):
「 Gitでマージの競合を修正するにはどうすればよいですか?
ブログ投稿の著者がしたことは:
julita@yulys:~/GNOME/baobab/help/C$ git reset --hard Origin/mallard-documentation
HEAD is now at ff2e1e2 Add more steps for optional information for scanning.
つまり、現在のマージを完全に中止し、git stash pop
を適用できるようにします。
「 Gitでのマージの中止 」を参照してください。
これらは2つのオプションです。
私はこの問題を抱えていて、競合を解決してコミットし、git stash pop
を再度実行すると、同じスタッシュが再び復元されました(同じ競合が発生しました:-()。
私がしなければならなかったことは、それを取り除くためにgit stash drop
です。
受け入れられている答えよりもはるかに簡単です。必要がある:
git status
およびその下のマージされていないパスを確認してください。競合を修正します。後で行う場合は、この手順をスキップできます。
git add <filename>
を使用して、これらのファイルをすべてマージされていないパスの下にインデックスに追加します。
git stash pop
を実行します。競合が発生した場合は、これらを再度解決する必要があります。
誰かがマージ/競合/アクション以外でこの問題を抱えている場合、問題の原因となっているプロジェクトのgitロックファイルである可能性があります。
git reset
fatal: Unable to create '/PATH_TO_PROJECT/.git/index.lock': File exists.
rm -f /PATH_TO_PROJECT/.git/index.lock
git reset
git stash pop
最善の解決策は、隠し場所から分岐し、その後解決することです。
git stash branch <branch-name>
隠しておくと、変更が失われる可能性があり、reflogに戻る必要があります。
app.coffee
をステージングに追加する必要があります。
git add app.coffee
を実行すると、スタッシュを適用できます(そのコミットとプッシュの後)。
問題の解決方法は次のとおりです。