【问题标题】:git add remote tracking branch to bare repogit 将远程跟踪分支添加到裸仓库
【发布时间】:2011-11-26 05:06:40
【问题描述】:
  1. 我有一个从 git.drupal.org 克隆的裸仓库。
  2. 我已经从这个裸仓库克隆到各种不同的网站。
  3. 从其中的每一个中,我将一个特定于站点的分支推送到裸存储库。

例如如果我有 foo.org 和 bar.org,那么我的裸仓库有 drupal 的分支 + 一个称为 foo 和一个称为 bar。

我的想法是我可以充分利用 git 的硬链接来通过本地克隆节省磁盘空间。我想我会保留从 git.drupal.org 获取的裸仓库,并将更改下拉到我的本地副本 foo 和 bar。然后,当更新出现时,它会很容易。

bare-repo$ git fetch >/dev/null ; git branch -a
* 7.x
  foo
  bar
  remotes/origin/7.x
  remotes/origin/8.x

foo 和 bar 从分支 7.x 开始,但我想将它们更新到 7.8,例如git rebase 7.8 但这失败了:

fatal: Needed a single revision
invalid upstream 7.8

foo 和 bar 无法“看到”裸仓库的遥控器。我能做什么?

【问题讨论】:

    标签: git git-branch remote-branch git-bare


    【解决方案1】:

    2 分,如“git rebase fatal: Needed a single revision”中所述:

    • 您需要指定分支的名称,在您的情况下是origin/7.8,而不是7.8:
    git rebase origin/7.8

    应该可以。

    • 您不能变基到不包含最初创建当前分支的提交的分支。 (所以请确保您的回购是这种情况)

    OP artfulrobot 报告:

    git rebase origin/7.8 
    fatal: Needed a single revision invalid upstream origin/7.8
    

    我的回复是:

    如果 7.8 不作为分支存在于 origin 中,则应出现此错误消息。
    也许 7.8 是“origin”存储库中的标签。
    在这种情况下,您需要先明确获取所述标签:

    git fetch --tags origin
    

    那么rebase应该可以工作

    【讨论】:

    • $ git rebase origin/7.8 结果:fatal: Needed a single revision invalid upstream origin/7.8
    • @artfulrobot:如果7.8 不作为分支出现在origin 中,则预期会出现此错误消息。也许7.8 是'origin' repo 中的一个标签。在这种情况下,您需要先显式获取所述标签:git fetch --tags origin。然后变基应该可以工作。
    【解决方案2】:

    您需要一个用于变基的工作文件夹。所以你需要克隆这个 repo,然后做你需要的。之后,将修改后的分支推送回裸仓库。

    或者,您可以指定一个工作目录git --work-tree=../somedir rebase 7.8。不幸的是,git 命令的 worktree 和 git dir 选项并未针对所有命令完全实现。第一个选项是最好的。

    Rebase 需要一个工作目录,因为它需要在遇到冲突时让您控制。然后,您可以修复冲突并发出 git rebase --continue 命令,让它在新的基础上应用其余的提交。

    希望这会有所帮助。

    【讨论】:

    • 是的。 foo 和 bar 是 工作树。问题是从 foo 内部(它的来源是裸仓库),我无法到达 origin/remotes/7.8;我不知道如何在裸露中创建一个分支,使 foo 能够从中获取/合并。
    • @AdamDynitruk:这是git remote show originpaste2.org/p/1681681的输出
    猜你喜欢
    • 2019-06-19
    • 1970-01-01
    • 2011-10-06
    • 2021-05-27
    • 2021-04-07
    • 1970-01-01
    • 2011-01-09
    • 2014-08-22
    • 2012-01-05
    相关资源
    最近更新 更多