如何拉取 SourceTree 中的所有分支?

How can I pull all branches in SourceTree?

我没有在拉取中看到任何执行此操作的选项 window。我应该怎么办?

克隆存储库后,您将在边栏的 "Remotes" 下看到所有远程分支。

If any content is missing, you can click Fetch to fetch all objects necessary to complete the history for all branches and tags in the remote repository.

如果您可以在 SourceTree 中看到它,则它已存储在您的计算机上。如果您想检查其中一个分支,请双击它。您可以在没有互联网连接的情况下随时切换到任何分支机构。

没有办法——也没有必要——"pull all branches"。

稍微偏离主题,但对于 git 命令行,您可以使用 git-up,它将执行 "git checkout",然后对所有本地分支执行 "git pull"。

我想扩展其他答案。

使用 git,首先您必须检查您感兴趣的远程分支,以便它们是本地的。因此,在 SourceTree 中,您右键单击每个远程分支并单击结帐。

一旦您感兴趣的分支是本地的,您现在可以使用 git-up。

如何安装git-up以便于在SourceTree中使用

对我来说,在 OSX 10.11.1 (El Capitan) 上,它和终端中的 sudo gem install git-up 一样简单,但是 YMMV。 (确保它安装的 git-up 可执行文件在你的路径中。对我来说,它被安装到 /usr/local/bin,它已经在我的路径中。Google 如果你需要帮助。 Here 是一个 Stack Overflow link,可能会有帮助。)

现在在 SourceTree 中创建自定义操作。转到 SourceTree 首选项 -> 自定义操作并单击添加。填写如下:

  • 菜单说明:git-up
  • 运行 的脚本:git-up
  • 显示完整输出:勾选(个人喜好,不勾选也可以)
  • 参数:留空
  • 单击 "click to record shortcut" 并指定键盘快捷键。 (我用的是CMD + U。)

现在,只要您在 SourceTree 中,就可以使用键盘快捷键 pull/rebase 所有已签出的分支。这使您不必切换到每个分支 pull/rebase 每个分支。

注意:如果您不想变基,您可以精确调整 git-up 的作用。参见 git-up's github page

将 SourceTree 连接到 master(克隆)

然后使用 shell 导航到项目文件夹并 运行 这样:

git branch -r(将显示所有远程分支)

git checkout --track origin/[branch name]

对所有分支重复签出 - SourceTree 几乎会立即得到它们