" " の背後にある一般的な考え方Entry 'filename' not uptodate. Cannot merge.
は次のとおりです。
チェックアウトと新しいブランチへの変更が続行された場合、上書き、削除、または失われる作業ディレクトリ内のファイルへの変更があります。
このメッセージは一時的に「誤った」ものになる可能性があると報告されていますが (「 git pull
」がマージを試みる前にインデックスを更新しなかった可能性があります)、修正は Git1.6.1 で行われました。
ただし、まだ mSysGit 1.6.1 にある可能性があるため、より新しい mSysGit バージョンでも同じエラーが表示されますか? (1.6.3 と同様)
Git 2.30.1 (2021 年第 1 四半期) より前は、" git stash
" ( man )はまばらにチェックアウトされた作業ツリーではうまく機能しませんでした。
commit ba359fd、commit b34ab4a、commit a31e48d (2020 年 12 月 1 日) by Elijah Newren ( newren
)を参照してください。
( 2021 年 1 月 15 日、コミット 62fb47aでJunio C Hamanoによってマージされました)gitster
t7012
: スパース チェックアウトでの stash apply のバグを示すテストケースを追加します。
署名者: Elijah Newren
sparse-checkout で stash を適用すると、特に、sparseness の定義に使用されるパターンが stash の作成時と適用時の間に変更された場合、多くのバグが発生します。
主な問題は、スタッシュが部分的にしか適用されない場合があることです。
ほとんどの場合、警告やエラーは表示されず、終了ステータスは 0 で、サイレントに実行されます。
ただし、翻訳されていないエラー メッセージが表示され、stash アプリケーションが早期に中止される場合がいくつかあります。
1 つ目は、ビットが設定されているにもかかわらずファイルが存在するSKIP_WORKTREE
場合です。この場合、表示されるエラー メッセージは次のとおりです。
error: Entry 'PATHNAME' not uptodate. Cannot merge.
もう 1 つの状況は、スタッシュに作業ツリーに追加する新しいファイルが含まれている場合です。この場合、コードは早期に中止されますが、stash はまだ部分的に適用されており、次のエラー メッセージが表示されます。
error: NEWFILE: does not exist and --remove not passed
fatal: Unable to process path NEWFILE