如何在SourceTree中正确变换?

时间:2014-09-09 14:25:53

标签: git rebase atlassian-sourcetree

Windows 7上的SourceTree 1.6.4.0。

让我们说以下是我的出发点:

enter image description here

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

我想将主题改为 我的目标是:

  C - A - B
  ^       ^
master  topic

但我最终得到了:

enter image description here

我可以做

git push origin topic -f

我得到了预期的结果,但在SourceTree中执行此操作的正确方法是什么?

3 个答案:

答案 0 :(得分:30)

更新:SourceTree 1.9.1

您可以在工具/选项/ Git /启用强制推送中启用强制推送。启用后,您可以在“推送”对话框中选中“强制推送”复选框。

原始答案

您必须执行强制推送,因为主题分支已经发布并且您正在重写历史记录。如果您进行变基,则会从原点/主题中删除提交A和B.

如果您不想进行强制推送,则应该进行合并,特别是如果您的团队成员已经在处理主题。

您无法使用SourceTree for Windows进行强制推送(请参阅answers at atlassian forums)。 您可以在此处投票赞成此功能:https://jira.atlassian.com/browse/SRCTREEWIN-338

答案 1 :(得分:9)

更新:SourceTree版本2.6.3(134)(适用于Mac)

转到SourceTree/Preferences/Advanced,然后点击“高级”对话框顶部的“允许强制推送”复选框。

这允许在推送提交时单击推送对话框中的强制推送。

以前的版本在{常规'对话框的底部SourceTree/Preferences/General处有此内容。

答案 2 :(得分:0)

更新:SourceTree版本2.4.8.0(Windows 10)

转到SourceTree --> Tools --> Options选择Git并查看Enable Force Push(参见屏幕截图)enter image description here