【问题标题】:How can I pull all branches in SourceTree?如何拉出 SourceTree 中的所有分支?
【发布时间】:2015-12-11 04:59:09
【问题描述】:

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

【问题讨论】:

  • 当您获取本地仓库时,应该有所有提交记录。你到底想做什么?
  • @orb 我想清除本地分支机构右侧的号码。我是强迫症患者。 :( 试图适应 git
  • 您实际上可以使 sourcetree 停止跟踪远程分支,这样数字就会消失。右键单击本地分支来执行此操作。
  • @orb 我来这里是为了寻找解决方案,以解决“我如何在离线一段时间之前让所有跟踪分支保持最新”。这个请求不仅仅是强迫症希望在左窗格中没有数字。
  • @GreenAsJade 我猜您正在寻找的是“从远程获取”,方法是右键单击您希望更新分支的远程。如果您正在跟踪多个遥控器,那么您将需要一个一个地获取它们

标签: git atlassian-sourcetree git-pull


【解决方案1】:

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

如果缺少任何内容,您可以单击 Fetch 以获取完成远程存储库中所有分支和标签的历史记录所需的所有对象。

如果您可以在 SourceTree 中看到它,则它存储在您的计算机上。如果要查看其中一个分支,请双击它。您可以随时切换到任何分支机构,无需互联网连接。

没有办法——也没有必要——“拉动所有分支”。

【讨论】:

  • 他说他要拉所有的分支,把每个分支旁边的通知号去掉。
  • "不需要拉所有分支"。这不是一个真实的陈述,并假设您可以预期所有需求。我想拉所有分支,以便我可以离线并在空闲时在所有分支的负责人之间切换(例如在飞机上)。
  • @GreenAsJade 你不能明确地“拉动所有分支”。 git pull 只是运行 git fetch 然后 git mergegit fetch 获取完成远程存储库中所有分支和标签的历史记录所需的所有对象。默认情况下,您所说的会发生。
  • @AaronBrager 这个问题是关于 SourceTree - 一个 git 的 GUI 客户端。您正在描述底层工具的功能。它与我对 SourceTree 所做的事情的经验不符。具体来说,如果我使用 SourceTree(通过按下“Fetch”按钮)“获取”遥控器,然后在离线时尝试从该遥控器转到不同分支的头部,我无法这样做。在我下线之前,我必须“拉”(SourceTree 拉)每个分支。因此,问题是:如何为所有分支(除了单独的)做到这一点。
  • @GreenAsJade 我无法在 SourceTree 中复制它。一旦我按下“Fetch”按钮然后离线,我就可以检查任何提交,即使是本地分支中没有引用的提交。
【解决方案2】:

我想扩展其他答案。

使用 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 链接,可能会有所帮助.)

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

  • 菜单说明:git-up
  • 要运行的脚本:git-up
  • 显示完整输出:勾选(我个人喜好,不勾选也可以)
  • 参数:留空
  • 单击“单击录制快捷方式”并分配键盘快捷方式。 (我使用CMD + U。)

现在,每当您在 SourceTree 中时,都可以使用键盘快捷键来拉取/重新设置所有签出的分支。这可以防止您必须切换到每个分支来拉取/重新设置每个分支。

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

【讨论】:

    【解决方案3】:

    有点题外话,但对于 git 命令行,您可以使用 git-up,它将执行“git checkout”,然后对所有本地分支执行“git pull”。

    【讨论】:

      【解决方案4】:

      将 SourceTree 连接到 master(克隆)

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

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

      git checkout --track origin/[branch name]

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

      【讨论】:

        猜你喜欢
        • 2014-10-27
        • 2014-01-12
        • 1970-01-01
        • 2017-03-08
        • 2020-03-26
        • 2022-11-05
        • 1970-01-01
        • 2013-09-24
        • 1970-01-01
        相关资源
        最近更新 更多