从 git 包中恢复所有引用

2024-03-24

如何从备份恢复所有远程分支(git bundle)。

Backup:

$ git bundle create /tmp/dp --all
$ git bundle list-heads /tmp/dp | head -n5
f37c9fc7f0ce121568f42fb01390b1862c67f308 refs/heads/master
f37c9fc7f0ce121568f42fb01390b1862c67f308 refs/heads/show
9aabc2a4fb18181fee6d0e7e03170a976b6ed49b refs/remotes/origin/NewLayers
aef1fc8a416413ee5b7f4370f255ab654b3407ee refs/remotes/origin/elevator
bc4c78f94a67857fbd7210ecc5ebcd80ec736b1a refs/remotes/origin/elevator_1
$ git bundle verify /tmp/dp | head -n1
/tmp/dp is okay
The bundle contains 65 refs

Restore:

$ git clone /tmp/dp dp
Cloning into dp...
$ cd dp
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/show

我尝试抓取和拉动,但没有帮助。

我还尝试使用“--mirror”克隆以创建裸存储库,然后从中克隆,但结果是相同的。


问题是,在克隆时,不会跟踪远程存储库的远程分支(并且远程存储库的本地分支将作为远程跟踪分支进行跟踪)。你没有在你的问题中说,但我猜用创建的(裸)存储库--mirror包括远程跟踪分支。

所以正确的做法是:

git clone --mirror /tmp/dp
mkdir dp
mv dp.git dp/.git
cd dp
git config core.bare false
git reset --hard

(即使用 --mirror 克隆并撤消隐含的 --bare。) 不漂亮但有效。或者使用 git-init 创建一个新的空存储库,并使用一行将 /tmp/dp 定义为远程

fetch = +refs/*:refs/*

而不是正常的

fetch = +refs/heads/*:refs/remotes/remotename/*

并从中获取。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 git 包中恢复所有引用 的相关文章

  • 使用 Jenkins Git 插件中的 SSH 密钥在构建期间运行 Git 命令

    我们在 Jenkins 上的构建作业作为发布构建的一部分运行一些 git 命令 例如 git push 和 git pull 因此需要一种在构建期间从 shell 运行经过身份验证的 git 命令的方法 我们的詹金斯奴隶不持有任何凭证 因为
  • 将 WordPress 保持在版本控制中 - 主题的单独存储库

    我的 WordPress 项目位于 Git 下 并将 WordPress 作为子模块 我想将主题开发保留在单独的子模块中 但在当前设置内 将主题设置为子模块时遇到一些困难 这是我的文件系统 git master repo index php
  • 使用 GitHub 时防止将大文本文件添加到提交

    我们想要防止 非常大的文本文件 每个文件 gt 50MB 被提交到git代替git lfs 因为它们夸大了 git 历史 问题是 其中 99 大小差异的原因 这些是 YAML 文件 它们支持通过 Base64 编码进行二进制序列化 我们无法
  • 如何删除“致命:松散物体”?

    我的一个克隆存储库是从 git fsck 获取的 致命 松散对象 40bda4e3b79c3d7bf598df31d9e68470f97a3f79 存储在 git objects 40 bda4e3b79c3d7bf598df31d9e68
  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过
  • 使用 'gitbranch' 命令显示当前 git 分支

    我在处理太多分支时遇到问题 需要花费很多时间才能找到我现在正在处理的当前分支 有没有办法在使用时显示的列表顶部列出当前分支git branch命令 如果您只想要签出分支 请使用git branch show current
  • 如何使用 git-svn 使 svn:external 保持最新?

    将我的存储库视为 SVN 存储库 我得到 svn co http myrepo foo trunk foo foo bar baz gt http myrepo baz trunk 将其视为 Git 存储库 我得到 git svn clon
  • 我可以用一个命令销毁并重新创建 Git 远程分支吗?

    在 Git 中 我有时会在长期运行的分支上工作 我喜欢时不时地重新建立 master 基础 以便在准备好时使合并变得更容易 变基后 我无法将先前推送的分支推送到远程 因为我的分支的历史记录不再与该分支的远程历史记录一致 所以我必须先删除它
  • 合并分支时,Git 不显示已删除行的当前/传入更改

    我正在尝试了解有关 git 分支 合并的更多信息 一直以来只使用 master 分支 我分支两次 然后执行合并 为什么 git 只显示新的冲突行 我想知道为什么删除 熊 根本没有突出显示为更改 您已经在评论中介绍了其中的一些内容 但让我们把
  • 计算机死机后 Git 存储库损坏

    我的电脑死机了 现在我的一个 git 存储库也坏了 当我尝试结账大师时 它告诉我 warning ignoring broken ref refs heads master error Your local changes to the f
  • 在 github 上查找强制推送的提交者

    在我们的项目 托管在 GitHub 上 中 每隔一段时间就会有人意外强制推送 master 没有人知道是否这样做 我想找出是谁干的 以及背后有什么样的错误配置的工具或坏习惯 那么问题来了 如何识别进行强制推送的用户呢 当我拉动时 我看到这样
  • OSX/Cocoa 应用程序通常使用什么位置来存储数据文件?

    他们是否将它们写入 存储在应用程序包 包本身中 或者其他一些规范位置 还是好像没有什么标准 文件通常会进入 Library Application Support Your App 偏好设置进去 Library Preferences
  • GitHub Web UI 中的“base”和“head”存储库是什么?

    GitHub 的 UI 相当不直观且考虑不周 所以这里有一个问题 什么是 头 回购 什么是 基础 回购 不知道是从哪一个抄来的 基础 和 头部 这两个词的意思是相同的 链表的 头 类似于树的 基 GitHub 有叉树和文件树 Head 和
  • React Native:即使文件不存在,也会出现 hprof 文件太大错误

    当我尝试跑步时git push origin master在我的 React Native 应用程序中 我得到 file android java pid60072 hprof is 564 94 MB this exceeds GitHu
  • 我可以在 git 中使用单个命令推送到多个存储库吗?

    基本上我想做一些类似的事情git push mybranch to repo1 repo2 repo3 现在我只是多次输入push 如果我急于完成push 我只需将它们全部发送到后台git push repo1 git push repo2
  • Git 中的提交是越多越好还是越少越好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近与一位同事进行了一场辩论 他坚持认为 由于合并冲突 提交越少越好 我认为通过使用尽可能多的提交获得的细节越多越好 提交更多还是更少更好 为
  • 为什么每次合并分支后我的 git log graph 都会多增长一行?

    我习惯使用git log oneline graph decorate all作为别名git ll在终端中查看提交图表 但是当我每次合并我的时 一个问题让我感到困惑develop to master 上面命令的输出可能是这样的 0d1bf7
  • 在 VS Code 中找不到 Git

    由于某种原因 我在 Windows 10 笔记本电脑上运行的 VS Code 中找不到 Git 在我的 Mac 上 当你一直向下滚动时 用户默认设置 中会出现一个 Git 但在我的 Windows 10 笔记本电脑上 它根本不存在 源代码管
  • 如何从 SQL Server 2005 备份中恢复单个表?

    我已经使用常规 SQL Server 2005 备份命令进行了备份 有没有办法只恢复单个表 而不是整个数据库 将整个数据库恢复到另一台机器 或临时数据库 然后复制表对我来说似乎是最简单的
  • 如何忽略Git中以数字开头的文件?

    在某个文件夹中 我有名为foo jpg bar png等等 我想将它们保留在版本控制中 除了那些命名为1 baz png 2 zaz jpg等 因为它们实际上是生成的 我应该添加什么条目 gitignore 正则表达式如 0 9 似乎不起作

随机推荐

  • 如何在 MATLAB 中编写函数

    我想写一个返回值的函数f y 对于任何值y f y tan sin y sin tan y 如何在 MATLAB 中将其编写为函数 这是一个适合您目的的示例函数 function y f x y tan sin x sin tan x en
  • numpy.chararray 发生了什么

    Input chararr np chararray 3 5 chararr a chararr Output chararray b a b a b a b a b a b a b a b a b a b a b a b a b a b
  • 如何将字符串转换为 ifstream

    我正在尝试使用 ifstream 打开一个文件 并且想使用字符串作为路径 我的程序创建一个字符串路径 它会编译但保持空白 string path NameOfTheFile it would be something close to c
  • 谷歌地理编码 API 的计费问题

    计费已添加到我们的 gmaps api 项目中 而且该账单肯定会传播 因为它是在大约 4 周前添加的 在项目仪表板中 计费显示为可用 但是 当我们尝试调整配额时 它说我们需要激活计费 我们联系了 Google 的几乎所有渠道 并被告知完全没
  • CSS 多重文本装饰

    我想要拥有 h2 下划线同时闪烁 有没有办法只修改CSS样式来实现这一点 h2 例如 h2 text decoration underline blink or h2 text decoration underline text decor
  • 将 ereg_replace 替换为 preg_replace [重复]

    这个问题在这里已经有答案了 您好 需要更改功能ereg replace theData 到 preg replace To port ereg replace to preg replace你需要将正则表达式放在一对之间分隔符 你的正则表达
  • 特别分发:无法安装应用程序

    我正在开发一个ios应用程序 仅适用于iphone 并试图让其他人测试它 我通过临时分发在自己的设备上安装该应用程序没有问题 当我尝试在另一个人的设备上安装时 它总是失败 并显示消息 此时无法安装 xxxxx 我正在使用 xcode 5 以
  • Jython 不会将 PYTHONPATH 加载到 sys.path 中

    根据我读到的内容 sys path 应该由 PYTHONPATH 设置 在 Python 中 它是这样工作的 但在 Jython 中则不然 我可以绕过 Dpython path 但我想知道为什么 Jython 表现不佳 qa Scantro
  • 在 Visual Studio 2010 中使用正则表达式查找和替换来小写

    我正在使用 Visual Studio 2010 中的查找和替换功能来更改字段的编码样式 所有实例类似于 m MyField 应该 myField 但我只能设法得到 MyField using Find what m a zA Z Repl
  • 无法安装 sqlite3-ruby gem

    我已经安装了 xcode 3 0 我需要安装 sqlite3 ruby gem 用于 rhosync 当我跑步时 sudo gem install l sqlite3 ruby 我收到以下错误 Building native extensi
  • 重复的 typedef - 在 C 中无效但在 C++ 中有效?

    我想要一个标准参考 为什么以下代码会触发 C 中的合规性警告 使用gcc pedantic typedef 重新定义 但在 C 中没问题 g pedantic typedef struct Foo Foo typedef struct Fo
  • 如何判断文件是否为空?

    如何判断文件是否为空 该文件由运行在Windows平台上的C程序打开 我想以附加模式打开一个文件 如果为空 首先打印一个标题 Open CSV write header report csv fopen SNR csv a if repor
  • 在 Mac 上解压缩大型 ZIP 档案(例如最新的 Microsoft Edge VM)

    尝试在我的 Mac 上解压最新的 Microsoft Edge Vm zip 文件后 我最终得到一个 cpgz 文件 它应该为 virtualBox 生成一个 ova 文件 有人知道怎么修这个东西吗 http mattormeeple co
  • 何时使用 handler.post() 以及何时使用 new Thread()

    我想知道什么时候应该使用handler post runnable 我什么时候应该使用new Thread runnable start Handler 的开发人员文档中提到了这一点 导致 Runnable r 添加到消息队列中 可运行的
  • MS Word 在 python 中的读/写、Python-docx 问题和 win32com 参考?

    最近 我正在尝试使用不同的 API 进行 MS Word 文件管理 现在正在编写 此时我只需要一个简单的编写Python API 我尝试了 win32com 模块 事实证明该模块非常强大 但缺乏 python 在线示例 对 VB 和 C 的
  • nginx 位置正则表达式 - 字符类和匹配范围

    我正在尝试为路径设置正则表达式 s lt 4 6 character string here gt 我将 4 6 个字符串捕获为 1 我尝试使用以下两个条目 但都失败了 location s 0 9a zA Z 4 6 location s
  • 不同Y级别的UIButton无法在tvOS上聚焦

    我开始为 Apple TV 开发应用程序 但在按钮方面遇到了这个问题 我有一个屏幕 屏幕底部有几个按钮 中间有一个按钮 请参阅屏幕截图以了解 问题是我无法集中中间按钮 焦点仅位于底部的三个按钮上 问题显然是由Y位置 当我移动屏幕底部的按钮时
  • 命令未存储在命令历史记录中

    背景 https stackoverflow com questions 76566358 这个答案 https stackoverflow com a 47595405 2153235依赖于 readline 模块并且write hist
  • 在 MVC razor 视图中的 foreach 循环中对单选按钮进行分组?

    我尝试通过在 html 帮助中提供额外的 html 属性来对循环内的一组单选按钮进行分组 如下所示 ol class Opt foreach var opt in quest Options li class Opt Html RadioB
  • 从 git 包中恢复所有引用

    如何从备份恢复所有远程分支 git bundle Backup git bundle create tmp dp all git bundle list heads tmp dp head n5 f37c9fc7f0ce121568f42f