変更をコミットせずに他のブランチに切り替えようとすると、Checkout Conflictsというアラートが出て、
- コミット
- Stash
- リセット
- キャンセル
の4つの選択をできます。
リセットを選択すると、それまでの編集を無かったことにしてブランチを切り替えます。
コミットを選択すると、コミット画面に移り、コミットするとブランチが切り替わります。
Stash
コミットはしたくないけど編集した内容を保持しておいて少し他のブランチで作業したい時に使うのがStashです。
Stashを選択すると、「スタッシュのコミット」画面がでて、「OK」を選択するとそれまでの変更を一時的にスタックに隠しておくことができます。こうしてコミットはせずに変更をスタッシュに保持しておいて、移動先のブランチで作業することが出来ます。
では、スタックに保持しておいた変更を戻すには、どうしたらいいのでしょうか。実はEGitでスタッシュを戻す方法が分からないので、コマンドラインから戻す方法を記しておきます。
先ほどまで作業していたブランチに切り替えて、
$git stash pop
でスタックに保持しておいた変更を適用します。保存した時と別のブランチに適用することも出来ます。
更に詳しい使い方は以下のサイトを参照してください。 Git – 作業を隠す Stash | 逆引きGit | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ