2017-09-08 16 views
0
>git rebase <parent> 
First, rewinding head to replay your work on top of it... 
Applying: <First Change> 
Applying: <Second Change> 
.git/rebase-apply/patch:20: trailing whitespace. 

warning: 1 line adds whitespace errors. 
error: Your local changes to the following files would be overwritten by merge: 
     <some exiting project file file> 
     <another existing project file> 
Please commit your changes or stash them before you merge. 
Aborting 
error: Failed to merge in the changes. 
Using index info to reconstruct a base tree... 
Falling back to patching base and 3-way merge... 
Patch failed at 0002 <Second change> 
The copy of the patch that failed is found in: .git/rebase-apply/patch 

私は、マージまたはリベース中にCONFLICTファイルを解決することに慣れています。しかし、この状況は私には困惑しています。 CONFLICTはありません。上書きされるファイルがあるため、2番目の変更は適用できません。これは意味をなさないものです。これらは、すべて追跡される既存のファイルです。 git status rebaseが保留中の追加を表示しない前に、ファイルは正しくgit log -- <some exiting project file file>に表示されます。 <First Change>はこれらのファイルには触れません。 <Second Change>はそれらを変更しますが、リベースは何らかの形でパッチを上書きとして認識します。Git rebaseはステップ間にコミットされていないファイルを残しますか?

この謎についての説明は、この問題にどのように対処するか?

git version 2.14.1.windows.1

+0

そしてそれを完全に困惑させるために、1分後にリベースがきれいに適用されます。これは4回前、そして昨日も失敗しました(何度か失敗した後に適用されました)。常に同じステップ、同じファイルで失敗します。 –

答えて

0

私は開いているファイルハンドルとgitのを維持VS間の相互作用によって引き起こされているという結論になってきました。 js/ts/cssファイルのチェックイン/チェックアウト/ブランチ変更/オリジンプルなどの処理中にタスクが実行されているように見える(例えば、ローカルシステムではないファイルの所有権を取ることはできません)。このような貧しい状態でNTFSのメタデータ処理を見るのは悲しいことですが、私の結論は次のとおりです。または、コマンドラインからvimとmsbuildを使用してください。これは、より使いやすく、使いやすいですが、私は逃げ出します。

関連する問題