2017-04-14 14 views
0

チェックアウトを行わずにブランチポインタを移動するとthis questionが見つかりました。基本的には、それを正確に行う方法をSourceTreeで知りたい。SourceTreeを使用して非アクティブブランチのgitブランチポインタを移動する

たとえば、ローカルブランチfeat/fooにいるとします。 masterもあり、origin/masterからいくつかの新しいコミットを取得できます。

sourcetree screengrab

私は枝を切り替えたり、自分の作業コピーを変更せずに、77f97cfからorigin/masterも同様に指している85c2fd7に私の地元のmasterポインタを設定したい:ここでのスクリーンショットです。

私が試した:

  • origin/masterためのコンテキストメニューがmasterのコンテキストメニューは、メニュー
  • を通じて取得ダイアログ
  • で追加のオプションを探して
  • をコミット
  • をコミット
  • Google-fu上記の質問と「ソースツリー」の情報を組み合わせたもの

ご利用いただけません。

これはSourceTreeで可能ですか?

+0

スクリーンショットは、あなたが必要とした、または現在のコミット状態を表示します。 – KOTIOS

+0

コマンドラインからは簡単ですが、GUIからは可能かどうかはわかりません。 (したがって、大部分のGUIにはほとんど不信感があります。ほとんどの場合、何かをするのは簡単ですが、GUIを書いた人はあらかじめ考えていないということはありえません:-)) – torek

+0

@MyMasterPeiceスクリーンショットは_present_状態。ローカルの 'master'ポインタが古いコミットになっているので、' origin/master'も指しているポインタに移動したいと思います。 – Jeroen

答えて

0
  1. スタッシュあなたのブランチのfooで変更
  2. チェックアウトのマスター右、あなたの地元のレポに
  3. クリック「リセットマスターをリセットしたいコミットする]をクリックし、masterブランチで
  4. (右マスターをクリックしてください)このコミットに "
  5. あなたの使用モードを選択してください。 (変更を持っていて、すべてが「ハード」を選択リセットする場合)
  6. [OK]をクリックして分岐fooへの
  7. 変化(右fooとチェックアウトをクリックしてください)
  8. マージマスターのfoo(マスター上で右クリック)へ

あなたのマスターはそのコミットに変更され、sourcetreeはプルする必要があることを表示します。その後、ローカルマスターをローカルリポジトリにマージすることができます。

+0

お時間をいただきありがとうございます。ただし、「このコミットにマスターをリセットする」オプションはなく、「現在のブランチをこのコミットにリセットする」オプションのみがあります。また、あなたの指示は私の作業コピーを(私が明示的に望ましくない)私が切り換えることを暗示していないのですか? – Jeroen

+0

あなたは変更を最初に隠すことができます。あなたが矛盾を起こす可能性がある場合、Gitはマージしません。このブランチでstashをクリックできます。それをマスターに変更し、必要なものを実行します。 – utkusonmez

+0

私は自分の答えを更新しました。 – utkusonmez

関連する問題