web-dev-qa-db-ja.com

Git stash pop-マージが必要で、インデックスを更新できません

どうやらスタッシュと競合するブランチをマージしたため、スタッシュをポップできません。現在、スタッシュはポップできないようです。

app.coffee: needs merge
unable to refresh index

誰もこれを解決する方法を知っていますか?

修正済み

実際の問題は、マージからの未解決のマージ競合であったことが判明しました。NOTスタッシュがマージ競合を引き起こすということです。

解決策:競合するファイルをコミットします。

94
RandallB

まず、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つのオプションです。

55
VonC

私はこの問題を抱えていて、競合を解決してコミットし、git stash popを再度実行すると、同じスタッシュが再び復元されました(同じ競合が発生しました:-()。

私がしなければならなかったことは、それを取り除くためにgit stash dropです。

13
knocte

受け入れられている答えよりもはるかに簡単です。必要がある:

  1. git statusおよびその下のマージされていないパスを確認してください。競合を修正します。後で行う場合は、この手順をスキップできます。

  2. git add <filename>を使用して、これらのファイルをすべてマージされていないパスの下にインデックスに追加します。

  3. git stash popを実行します。競合が発生した場合は、これらを再度解決する必要があります。

8
ayushgp

誰かがマージ/競合/アクション以外でこの問題を抱えている場合、問題の原因となっているプロジェクトの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
4
StevieJayCee

最善の解決策は、隠し場所から分岐し、その後解決することです。

git stash branch <branch-name>

隠しておくと、変更が失われる可能性があり、reflogに戻る必要があります。

1
Julian Tellez

app.coffeeをステージングに追加する必要があります。

git add app.coffeeを実行すると、スタッシュを適用できます(そのコミットとプッシュの後)。

0
edvard_munch

問題の解決方法は次のとおりです。

  • git status(前のstash、pull、stash pop、および継続作業のファイルの混合を参照してください。)
  • git stash(ニーズのマージの問題を参照)
  • git add。 (ファイルを追加して、ローカルで自分の作業が解決されるようにします)
  • git stash(エラーなし)
  • git pull(エラーなし)
  • git stash pop(エラーなし、作業を続行)
0
Adam Wright