Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Github Desktopで、今のブランチの修正内容を変更せずにマスターブランチに移動したいです。ご教示お願いいたします。

Github Desktopで、今のブランチの修正内容を変更せずにマスターブランチに移動したいです。ご教示お願いいたします。

Github Desktop上で、switch branchのleave my changes onを選択しようと思うのですが、大丈夫でしょうか?

詳細にお話しすると、
今いるブランチの修正点はそのままコミットはしないが、修正点はブランチの中ではそのままで別のブランチ(masterブランチ)に移動したいです。

調べたところswitch branchのleave my changes onを選択したところ以下のurlのような表示になりました。
こちら、選択してもよろしいのでしょうか。
https://gyazo.com/89ea79032842f362452a04671d45a9fa

ご教示よろしくお願いいたします。

0 likes

1Answer

こんにちは

GitHub Desktopを使ったことがないのですが、下記の記事を拝見すると、おっしゃっている通り「leave my changes on」で任意のブランチに変更をもっていけそうです。

Github Desktop2.0がリリースされたので使ってみた
https://ma-hiro.com/github-desktop2-0%E3%81%8C%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%95%E3%82%8C%E3%81%9F%E3%81%AE%E3%81%A7%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/

アップロードなさっていた画像をGoogle翻訳にかけたら、確認みたいですね。

続行してもよろしいですか? これにより、既存のスタッシュが現在の変更で上書きされます。

問題なければ、「Overwrite」を押してもいいのではないでしょうか。
仮に間違ってコミットしたとしても、restとかできると思うのでまずは試してみたらよろしいかと思います。

とはいえ、使ったことがない人間の言葉なので、どうしても不安でしたら一旦git管理外のディレクトリ(Desktopなど)に変更ファイルをコピーして、ブランチ切り替えるなり、
現在のブランチにコミットしておいて、変更したかったブランチに移動した後cherry-pickで持ってくきて、元のブランチのコミットが不要になったら消しておくなり、
安心できると思う解決方法を試してみてください。

何かしらお役に立てたら幸いです。

0Like

Comments

  1. @suiru_nakamura

    Questioner

    ご返信ありがとうございます。
    任意のブランチに変更内容を持っていくと言うことはブランチで修正した内容がmasterブランチに反映されてしまうと言うことでしょうか?
    自分が今回行いたいこととしては、現在いるブランチの修正点を、masterブランチに反映しないでmasterブランチに移動を行いたいです。
    なおかつ現在いるブランチの変更修正点は、消さないで残しておきたいのです。
    また、お手数ではありますがご教示のほどよろしくお願いいたします。
  2. >現在いるブランチの修正点を、masterブランチに反映しないでmasterブランチに移動

    なるほど。 ご希望の操作を少し勘違いしておりました。すいません。
    結論この操作で、上記の通りできるのではと思います。

    * 「Leave my changes」で「Switch Branch」を押す
    * 最初の貼り付けていた画像の「Overwrite」を押す
    * masterブランチに移動する
    * また修正したいブランチに戻ってきて、「Stashed Changes」を押して「Restore」を押してStashしていた変更を戻す

    ---

    ここからは解説というか、この結論に至った過程を記載させていただきます。

    現在いるブランチの修正点を一旦退避させるコマンドとして、gitには `git stash` というコマンドがあります。

    GitHub Desktopでは「Leave my changes」または 「Bring my changes」が該当するみたいですね。

    > 現在いるブランチの修正点を、masterブランチに反映しない

    この動きをしたい場合は、「Leave my changes」で良いみたいですよ。

    「Bring my changes」が他のブランチに変更を持っていくみたいですね。

    コマンドラインで `git stash` を行うと複数退避できるんですが、GitHub Desktopだと一つしかできないのかもしれないです。
    だからstashの上書きしてもいいのか聞いているんだと思います。
    (推測ですいません)

    もしすでにstashしているものがあって、消しても大丈夫なら操作を続けても良いのではと思います。
    公式ドキュメント拝見するとstashしているものをサイトバーの「Stashed Changes」から確認できるようなので、内容をご確認ください。

    https://docs.github.com/ja/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/managing-branches#stash-%E3%81%97%E3%81%9F%E5%A4%89%E6%9B%B4%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B

    いらなかったら先に「Discard」で削除しておくと操作がスムーズに行くかもしれません。
    (実際に画面を触っていないので、感でお返事しております。本当にすいません)

    以上になります。
    重ねてで申し訳ないですが、GitHub Desktopを使ったことがないので、感で回答させていただいていることが過分にあります。
    公式のドキュメントなど参考に操作をしていただければと思います。
  3. @suiru_nakamura

    Questioner

    ご返信ありがとうございます!
    ご教示いただいた方法で、試行してみます!
    また、わからない点がありましたら投稿を致しましたので、ご教示お願いいたします!

Your answer might help someone💌