gpt4 book ai didi

git 将远程跟踪分支添加到裸仓库

转载 作者:太空狗 更新时间:2023-10-29 14:01:50 27 4
gpt4 key购买 nike

  1. 我有一个从 git.drupal.org 克隆的裸仓库。
  2. 我已经从这个裸仓库克隆到各种不同的网站。
  3. 从每一个中,我将一个特定于站点的分支推送到裸仓库。

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

我的想法是,我可以充分利用 git 的硬链接(hard link)来节省本地克隆的磁盘空间。我想我会保留从 git.drupal.org 获取的裸仓库,并将更改下 pull 到我的本地副本 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 无法“看到”裸仓库的 Remote 。我能做什么?

最佳答案

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

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

should work.

  • You can't rebase to a branch that does not contain the commit your current branch was originally created on. (so make sure that it is the case for your repo)

The OP artfulrobot reports:

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 将远程跟踪分支添加到裸仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7572469/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com