2

私の問題は次のとおりです。

ブランチを作成するのを忘れていたため、ブランチ masterの新しい機能に取り組んでいました。

次に、使用するブランチ e を作成します。

git stash
git checkout new_branch;
git stash apply

masterしかし、ブランチに戻ると、コミット解除ファイルと追跡解除ファイルはmaster.

なんで?

正しいのはaddファイルであり、新しいブランチでコミットしますか、またはこれをコミット/追跡しないままにすることができますか?

4

2 に答える 2

8

コミットされていない/追跡されていないファイルは、どのブランチにもありません。それらは追跡されていません。あなたが見ているのは、作業ディレクトリ内の回復できないものを破壊しないように懸命に努力していることです。そのため、ブランチを切り替えると、追跡されていないファイルに対しては何も行われず、そこに残されるだけです。古いブランチと同じように、新しいブランチでも未追跡として表示されます。git

注意点は、特定のファイルが追跡されていないブランチからそのファイルが追跡されているブランチに切り替えたときに、作業ディレクトリ内のファイルのバージョンがチェックアウトされるファイルのバージョンと一致しない場合です。その場合、gitは怒鳴って新しいブランチのチェックアウトを拒否します。そのファイルをチェックアウトするとデータが失われるからです。git checkout -f本当に必要な場合は、これをオーバーライドできます。ファイルが追跡されているブランチから切り替えたが、まだコミットしていない変更を加えた場合、同様の状況が発生し、新しいブランチはそのファイルを追跡しません。

于 2013-08-22T14:32:02.313 に答える