状況のご説明や、あなたの観察に基づいて、私は次のように推測:
master
支店では、フォルダmyfolder
は、リポジトリの一部です。
branch1
ブランチでは、フォルダはリポジトリの一部ではなく、.gitignore
ルールを使用してGitから除外されています。
だから、branch1
で始まりますが、そのフォルダは存在しますが、Gitでは無視されますので、Gitはその内容について知りません。今度は、master
ブランチに切り替えます。そのブランチはそのフォルダの内容を追跡します。それに切り替えると、Gitは(非追跡)ローカルファイルの内容とmaster
ブランチの内容を比較します。どんな違いにも遭遇しないので、ブランチをチェックアウトするときに矛盾がないので、うまく動作します。
あなたはmaster
ブランチで終わり、はmyfolder
というフォルダになります。今度はbranch1
に戻ります。myfolder
フォルダーは、ブランチの一部ですが、これはオフに切り替わりますが、branch1
ブランチには存在しません。だからGitはそれを削除します。これで、そのフォルダなしでbranch1
になります。
残念ながら、Gitは、コミットされていないコンテンツを失う可能性があることを検出すると、通常はチェックを行わずに内容を上書きするように見えます。これは、ルールを無視するためです。ですから、私は恐れています。前回のコミットされていない状態から正確な内容を復元することはできません。あなたはmaster
にあるものだけを持っています。
あなたは何をしたのですか?コンテンツを含むフォルダがありましたが、ブランチを切り替えるとコンテンツはなくなりましたか? – CodeWizard
ありがとうございました。時刻0で私はbranch1にいます。私は最初に習得してから支店1にチェックアウトするので、私はどこに戻ってきますか。ただし、処理中にフォルダの内容が消去されます。 – Manfredo