【GitHub Desktop】コミット前の作業を別のブランチに移行する

コミット前の作業を別ブランチに移行する

Windows から Mac に乗り換えた時、ついでに Sourcetree から GitHub Desktop へ乗り換えました。
Soucetreeよりもシンプルで、クローンしたリポジトリの表示がごちゃごちゃしないので気に入ってます。

GitHub Desktop

ついついブランチ切るのを忘れて別の作業をしちゃうこと、ありますよね。
間違えて進めてしまった作業を、新しいブランチに移行したい……
そんなとき、GitHub Desktop と Sourcetree では対処方法がちょっと違うようです。
いつも混乱してしまうので、GitHub Desktop での対処方法を以下にまとめておきたいと思います。

今回は、あくまでも作業をコミットする前の状態での話です。

GitHub Desktop で新しいブランチに変更内容を適用する方法

ブランチを切り忘れたまま間違えて作業をしてしまったブランチを、仮に「旧ブランチ」とします。
一方、本来作業を進めるべきだったブランチを「新ブランチ」とします。

大まかな手順は以下の通り。

  1. 旧ブランチを表示した状態で新ブランチを作成
  2. ポップアップが出るので「Bring my changes to 新ブランチ」を選択

旧ブランチを表示した状態で新ブランチを作成

新ブランチに移行したい作業をコミットせず、そのまま普段通りに Current Branch のタブをクリック。
New Branchで新ブランチを作成します。

New Branch でブランチを作成

ポップアップが出るので「Bring my changes to 新ブランチ」を選択

Switch Branch」というタイトルでポップアップが出るので、下段の「Bring my changes to [新ブランチ]」を選択し、Switch Branch のボタンをクリック!

「Bring my changes to ブランチ名」をクリック

これで、旧ブランチにあったコミット前の作業を、新ブランチへ移行できます。

間違えて「Leave my changes〜」を選んでしまったとき

間違えて「Leave my changes on [旧ブランチ]」を選んでしまっても大丈夫。
コミット前の作業はスタッシュされた状態になっています。

旧ブランチへ戻ると、コミットコメント欄のすぐ上に、「Stashed Changes」と表示されているはずです。

クリックすると、スタッシュされている作業がメインエリアに表示されるので、そこで「Restore」ボタンをクリックすれば、旧ブランチにコミット前の作業が戻ります。

Stashed Changes をクリックして、Restore する

この場合、すでに新ブランチが作られているはずなので、New Branch でブランチを作成する必要はありません。

作業を移行させたい新ブランチに切り替えようとすると、「Switch Branch」のポップアップが表示されます。

これでうっかり master ブランチで作業を始めてしまっても安心ですね!

この記事を書いた人

ひしもち

京都の某Web制作会社で4年弱勤務したのち、退職して個人事業主となりました。
現在の主なお仕事は、WordPressを利用したWebサイトの制作です。
業務システムのUIデザインをしていた経験もあり。

専業主夫+3人の子どもたちと暮らしています。ゲーム好きなインドア派ですが、ゆるゆる楽しむプレイスタイルです。