2017-10-16 9 views
0

簡単なgit機能の質問。私は新しいブランチを作成し、そのブランチをチェックアウトし、newbranchに変更を加えます。 newbranchでの最初のコミットの前に、私は、これらの変更がmasterとnewbranchからgit statusを実行するときに表示されるのを見ています。私が新店にいる間にそれらの変化を踏むと、彼らは主人の上に上演されます。私がこれらの変更をnewbranchにコミットするまで、マスターは分離されているように見えます。 A)私は狂ってる? B)これの背後にある論理は何ですか?Git:最初のコミットまでマスターに反映された新しいブランチへの変更

同様の質問hereはありません。

+0

これに対処している回答がたくさんあると思いますが、これは私のものです(https://stackoverflow.com/a/40324524/1290731)。 – jthill

+0

私はこれを複製としてクローズしましたが、ここでは、この特定のケースでは、同じコミット*を指し示す2つのブランチ名*があるので、どちらの名前の 'git checkout'でも*索引や作業木を定義します。したがって、常に動作し、常に新しいターゲットブランチ名を含むように 'HEAD'を更新します(そして何もしません)。 – torek

答えて

1

変更をステージングしなかったので、それらは作業スペース内にのみ存在し、必要な回数だけブランチを切り替えることができます。それらをステージングすると、次のコミットのために 'スケジュールされています'。ただしコミットする前にブランチを変更することができます。

この動作は正しいです。場合によっては、あるブランチで作業を開始することもできますが、別のブランチにコミットすることもできます。これは典型的なものです。たとえば、コードレビューのために小さな変更を送信する必要がある場合や、迅速なバグ修正が必要な場合です。

関連する問題