16

问题是当我拉取送到远程存储库时,它会以我的名义生成一个额外的提交。提交说

合并 ssh:// 的“master”分支......

我发现答案说我应该在 git bash 中使用命令git pull --rebase来避免这种提交。

但我通常使用 TortoiseGit。那么我怎样才能用 TortoiseGit 正确地做到这一点呢?

4

3 回答 3

22

这是自 Tortoise Git 1.8 版以来的一个选项。可以从 Fetch 命令调用 rebase 选项:

TortoiseGit 提取对话框突出显示 Launch-Rebase-After-Fetch 复选框

于 2013-12-11T20:54:01.253 回答
11

从 TortoiseGit 2.0 开始,您可以在 git config 中设置pull.rebasetrue例如,通过发出git config pull.rebase true),当您拉取更改时,TortoiseGit 将自动在当前分支之上重新设置更改(使用拉取对话框或在同步对话框中选择“Fetch&Rebase”)。如果没有冲突或在当前分支上快进拉取的更改,您也不需要单击“开始变基”,也不会看到变基对话框。

enorl76已经提到了另一个选项:在 fetch 或 pull 对话框中启用“Launch Rebase after fetch”。从 TortoiseGit 1.8.16 开始,如果拉取的更改在当前分支之上快进或没有新提交,系统会询问您是否要打开变基对话框。

TortoiseGit 提取对话框突出显示 Launch-Rebase-After-Fetch 复选框

于 2016-03-05T19:46:48.507 回答
7

您也许可以使用 Git Sync(它基本上是 git 的瑞士军刀)。然后它有一个名为 Fetch&Rebase 的选项,它是“Pull”项的下拉菜单。如果您在默认情况下切换它,它将是该选项。非常酷的实用程序,直到 5 分钟前我才忽略它。感谢其他答案,因为它帮助我找到了更好的答案。

于 2014-10-22T19:40:32.453 回答