问题是当我拉取并推送到远程存储库时,它会以我的名义生成一个额外的提交。提交说
合并 ssh:// 的“master”分支......
我发现答案说我应该在 git bash 中使用命令git pull --rebase来避免这种提交。
但我通常使用 TortoiseGit。那么我怎样才能用 TortoiseGit 正确地做到这一点呢?
问题是当我拉取并推送到远程存储库时,它会以我的名义生成一个额外的提交。提交说
合并 ssh:// 的“master”分支......
我发现答案说我应该在 git bash 中使用命令git pull --rebase来避免这种提交。
但我通常使用 TortoiseGit。那么我怎样才能用 TortoiseGit 正确地做到这一点呢?
这是自 Tortoise Git 1.8 版以来的一个选项。可以从 Fetch 命令调用 rebase 选项:
从 TortoiseGit 2.0 开始,您可以在 git config 中设置pull.rebase
(true
例如,通过发出git config pull.rebase true
),当您拉取更改时,TortoiseGit 将自动在当前分支之上重新设置更改(使用拉取对话框或在同步对话框中选择“Fetch&Rebase”)。如果没有冲突或在当前分支上快进拉取的更改,您也不需要单击“开始变基”,也不会看到变基对话框。
enorl76已经提到了另一个选项:在 fetch 或 pull 对话框中启用“Launch Rebase after fetch”。从 TortoiseGit 1.8.16 开始,如果拉取的更改在当前分支之上快进或没有新提交,系统会询问您是否要打开变基对话框。
您也许可以使用 Git Sync(它基本上是 git 的瑞士军刀)。然后它有一个名为 Fetch&Rebase 的选项,它是“Pull”项的下拉菜单。如果您在默认情况下切换它,它将是该选项。非常酷的实用程序,直到 5 分钟前我才忽略它。感谢其他答案,因为它帮助我找到了更好的答案。