web-dev-qa-db-ja.com

SourceTreeで適切にリベースする方法は?

Windows 7上のSourceTree 1.6.4.0.

以下が私の出発点だとしましょう:

enter image description here

 C <- master
/
- A - B <- topic

topicmasterにリベースします。
私の目標は:

  C - A - B
  ^       ^
master  topic

しかし、私は次のようになります:

enter image description here

それでできる

git Push Origin topic -f

そして、意図した結果が得られますが、SourceTreeでこれを行う適切な方法は何ですか?

36
Patrick

更新:SourceTree 1.9.1

ツール/オプション/ Git /強制プッシュの有効化で強制プッシュを有効にできます。有効にした後、「プッシュ」ダイアログの「強制プッシュ」チェックボックスをチェックできます。

元の答え

トピックブランチは既に公開されており、履歴を書き換えているため、強制プッシュを実行する必要があります。リベースすると、Origin /トピックからのコミットAとBは削除されます。

強制プッシュを実行したくない場合、特にトピックで既に作業しているチームメンバーがある場合は、マージする必要があります。

SourceTree for Windowsで強制プッシュをまだ実行できません( atlassianフォーラムでの回答 を参照)。ここでこの機能に投票できます: https://jira.atlassian.com/browse/SRCTREEWIN-338

30
filhit

更新:SourceTreeバージョン2.6.3(134)(Macの場合)

SourceTree/Preferences/Advancedに移動し、[詳細]ダイアログの上部にある[強制プッシュを許可]チェックボックスをクリックします。

これにより、コミットをプッシュしながら、プッシュダイアログで[プッシュを強制]をクリックすることができます。

以前のバージョン「一般」ダイアログの下部にあるSourceTree/Preferences/Generalにこれがありました。

9
jacoballenwood

更新:SourceTreeバージョン2.4.8.0(Windows 10)

SourceTree --> Tools --> Optionsに移動してGitを選択し、Enable Force Pushを確認します(スクリーンショットを参照) enter image description here

0
Binyamin Regev