2012-01-06 9 views
1

これは簡単なものです。私はこれに簡単な答えを見つけることができませんでしたので、まっすぐ進むように見えます。簡単なGIT:別のローカルブランチをチェックアウトすると、何が起こりますか?

私はGITを使用してかなり新しくなっています。私は、既存のものから別のローカルブランチを作成して遊ぶことができました。

私はそれを調べて、私が新しいブランチを作ったときに、ローカルのステージのない変更が変わっていないことに気付きました。

何が起こったのですか? GITはローカルのunstaged変更を新しいブランチのソースコードにマージしようとしましたか?チェックアウトしたブランチのソースコードが、変更したファイルと完全に異なる場合はどうなりますか?

ありがとうございました!

答えて

2

変更しようとしていたブランチ上で変更されたファイルと作業ディレクトリ内のファイルの変更をunstagedした場合、Gitは-f(force)オプションを指定しない限りブランチを入れ替えずにチェックアウトが作業ディレクトリの変更をどのように上書きするかというエラーが表示されます。

$ git checkout bar 
error: Your local changes to the following files would be overwritten by checkout: 
    foo 
Please, commit your changes or stash them before you can switch branches. 
Aborting 
+0

あなたの完璧な答えに感謝します。 –

+0

'-f'のように上書きするのではなく、変更をマージする' -m'オプションもあります。 –

関連する問題