私はマスターブランチを持っており、すべてが問題ありません。次にexperimentalというブランチを作成し、新しいファイルを作成します。私の実験枝では、git add
コマンドを使ってこのファイルを追加します。それから私はマスターブランチをチェックアウトします。私のマスターブランチではgit status
を実行し、このファイルも私のmasterブランチに追加されていることを発見します。私はgit commit -m "message"
を実行しているが、私のマスターブランチではコミットが発生する。その後私は実験ブランチに切り替えてgit status
を実行し、そのファイルが私の実験ブランチでコミットされていることを発見します。git分岐してコミットする - この困惑する(私にとって)行動の背後にある理論を説明できますか?
これは私が期待していたものです:新しいファイルを追加した後にmasterブランチに切り替えると、そこにファイルが表示されないことが予想されます。結局のところ、私はmasterブランチの間にファイルを作成せず、masterブランチにいる間にファイルを追加しませんでした。だから、私がマスターブランチに切り替えてgit status
を実行すると、なぜファイルがすでに追加され、コミットする準備ができているのでしょうか?そして、マスターブランチにいる間にコミットすると、私が戻ったときに実験ブランチでコミットされているのはなぜですか?それは一度に2つの支店にコミットしましたか?
experimentalブランチに戻ったときに 'git status'が何も表示しないのであれば、ファイルがそのブランチでコミットされたことを意味しません。それはあなたが何かを演奏していないことを意味します。 – jamessan
まあ、それは、私はファイルがコミットされたと思いますので、それはuntrackedファイルとステージングされたファイルを示していません。 – Deonomo
'git log'を使って、あなたの現在のブランチにどのコミットが適用されているか調べます。おそらく、ファイルが "master"ブランチにコミットされていて、 "experimental"ブランチにコミットされていないことがわかります。 –