2017-10-03 7 views
0

マイブランチ "" 以下の状態にあった:私はgit pullその後、git checkout master続いgit stashを走ったgit stashとブランチの切り替えを実行した後、私の追跡できないファイルが失われましたか?

New  -- foo.cs 
New  -- bar.cs 
Modified -- baz.cs 

私はマスターでいくつかの作業を行い、新しいブランチを作成し、変更をコミットしました。

「A」をもう一度チェックアウトし、git stash applyを実行しました。

foo.csbar.csの参照から私のコード全体にエラーがあり、それらのファイルはなくなりました。

私は自分の変更をコミットしたか、またはgit stash save --include-untrackedを使用していたはずです。

ファイルを元に戻す方法はありますか?

そうでなければ、git stashを使用する危険性がさらに強調される必要があります。

+4

リストされているコマンドのいずれも、未追跡のファイルを削除していませんでした。 –

+0

'git stash list'はいつ表示されますか?また、これらの新しいファイルは追跡されたのでしょうか? – Christia

+1

追跡されていない新しいファイルは隠されていないので、チェックアウト時に追跡します。私の推測では、マスターブランチでファイルをコミットしたということです。 –

答えて

-1

問題は、そのブランチをチェックアウトしたときに、untrackedファイルをmasterに移動したことでした。

git stash apply私の元の枝には、追跡されたファイルに加えられた変更が追加されましたが、追跡されていないファイルは私の枝にはなくなりました。彼らはmasterにあった。

+1

未追跡のファイルはどのブランチにもありません。彼らは追跡されていない、覚えている?作業ツリーにのみ存在し、追跡されないのでチェックアウトの影響を受けません。チェックアウトしたブランチのディレクトリに同じ名前のファイルがすでに存在する場合を除きます。 – axiac

関連する問題