Git ブランチ: ブランチは異なります

Git ブランチ: ブランチは異なります

ここ数日、git に問題があります。

「master」ブランチがあると仮定します。「normal」ブランチを作成し、「git checkout normal」を実行してから、コードを少し変更します。

「git checkout master」を実行してから「git status」を実行すると、まったく別のブランチにいるにもかかわらず、ブランチ normal で行った変更が表示されます。

それは私がいつもとっている態度ではありません。私は今、完全に無力だと言わざるを得ません。何が起こったのかわかりません。

手伝ってもらえませんか? 私は Git 2.3.3 を持っており、Manjaro Linux を使用しています。

答え1

変更をコミットしませんでした普通ブランチ。作業ディレクトリ内のファイルのみが変更されました。

作業ディレクトリが変更された場合でも、Git ブランチを切り替えることができます。競合がない場合、Git は次のように表示します。

M       test.txt  
Switched to branch 'master'

これは、これらの変化が今起こっているという意味ではありませんマスターブランチ。それらは単に作業ディレクトリにあります。だから、それらをコミットすることができますマスターgit commit -a)またはチェックアウト普通そこでコミットします。

ローカルの変更とチェックアウトするブランチの変更との間に競合がある場合、Git はエラーを表示します。

error: Your local changes to the following files would be overwritten by checkout:  
         test.txt  
Please, commit your changes or stash them before you can switch branches.  
Aborting

この場合、stash目的のブランチをチェックアウトするには、それらの変更をコミットするか、完全に破棄する必要があります。

関連情報