Windows から Mac に乗り換えた時、ついでに Sourcetree から GitHub Desktop へ乗り換えました。
Soucetreeよりもシンプルで、クローンしたリポジトリの表示がごちゃごちゃしないので気に入ってます。
ついついブランチ切るのを忘れて別の作業をしちゃうこと、ありますよね。
間違えて進めてしまった作業を、新しいブランチに移行したい……
そんなとき、GitHub Desktop と Sourcetree では対処方法がちょっと違うようです。
いつも混乱してしまうので、GitHub Desktop での対処方法を以下にまとめておきたいと思います。
今回は、あくまでも作業をコミットする前の状態での話です。
GitHub Desktop で新しいブランチに変更内容を適用する方法
ブランチを切り忘れたまま間違えて作業をしてしまったブランチを、仮に「旧ブランチ」とします。
一方、本来作業を進めるべきだったブランチを「新ブランチ」とします。
大まかな手順は以下の通り。
- 旧ブランチを表示した状態で新ブランチを作成
- ポップアップが出るので「Bring my changes to 新ブランチ」を選択
旧ブランチを表示した状態で新ブランチを作成
新ブランチに移行したい作業をコミットせず、そのまま普段通りに Current Branch のタブをクリック。
New Branchで新ブランチを作成します。
ポップアップが出るので「Bring my changes to 新ブランチ」を選択
「Switch Branch」というタイトルでポップアップが出るので、下段の「Bring my changes to [新ブランチ]」を選択し、Switch Branch のボタンをクリック!
これで、旧ブランチにあったコミット前の作業を、新ブランチへ移行できます。
間違えて「Leave my changes〜」を選んでしまったとき
間違えて「Leave my changes on [旧ブランチ]」を選んでしまっても大丈夫。
コミット前の作業はスタッシュされた状態になっています。
旧ブランチへ戻ると、コミットコメント欄のすぐ上に、「Stashed Changes」と表示されているはずです。
クリックすると、スタッシュされている作業がメインエリアに表示されるので、そこで「Restore」ボタンをクリックすれば、旧ブランチにコミット前の作業が戻ります。
この場合、すでに新ブランチが作られているはずなので、New Branch でブランチを作成する必要はありません。
作業を移行させたい新ブランチに切り替えようとすると、「Switch Branch」のポップアップが表示されます。
これでうっかり master ブランチで作業を始めてしまっても安心ですね!