Git 和外部备份。子目录是空的,我宁愿它不是空的。

2024-06-26

我想使用 Git 创建外部备份系统。

这部分是受到答案的启发在外部磁盘上备份整个 git 存储库的最佳方法是什么? https://stackoverflow.com/a/4372855/2533127,其中建议如下:

您还可以通过启动一个新的存储库来获得增量备份 外部磁盘(git克隆),然后每次拉取更改 (git拉)。备份和备份没有太大区别 分布式系统(如 git)中的工作副本。

(为了方便起见,我在外部使用了一个裸存储库。)

我的困境是:在我备份到外部的分区上,我有一些子目录,它们本身就是 git 存储库,每个子目录都有远程存储库的上游。

换句话说,通过 ascii art:

          upstream
external ----------> partition
                         |                    upstream
                         +----- subdirectory ----------> remote

本身受版本控制的子目录在我的外部显示为空。

我希望 git 不要跳过这些目录,而是也提取版本化子目录的内容。

我想知道子模块是否与这里相关,但文档很困难。 (我从未找到子模块的定义 - 或示例 - 表明它可能适合我的情况。)

At Git 忽略子目录中的 .git 目录 https://stackoverflow.com/q/2703290/2533127,问题包括行

Git 不允许我添加子目录 .git 文件夹。

这些回应令人沮丧,他们向我暗示 git 的设计初衷并不是包含此功能。

但我充满希望。


子模块是在父存储库中记录为的存储库gitlinks(索引中的特殊条目,模式 160000) https://stackoverflow.com/a/16581096/6309,即该子模块存储库所表示的确切 SHA1。

目标不仅仅是包含一个子存储库,而是包含一个specific该存储库的版本(因此有 gitlink,用于记录应检出该子存储库的正确 SHA1)。

在备份脚本场景中,您应该进入每个子模块,并在其子模块中进行备份自己的裸仓库 https://stackoverflow.com/a/24115534/6309在您的外部驱动器上。

您将在您的文件中找到这些子模块的路径.gitmodules主存储库中的文件。

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

Git 和外部备份。子目录是空的,我宁愿它不是空的。 的相关文章

  • 当我所做的只是压缩提交时,为什么 git-rebase 会给我带来合并冲突?

    我们有一个包含 400 多个提交的 Git 存储库 其中前几十个提交需要大量的反复试验 我们希望通过将许多提交压缩为单个提交来清理这些提交 当然 git rebase 似乎是最佳选择 我的问题是它最终会产生合并冲突 而且这些冲突并不容易解决
  • 比较 2 次提交

    我没有找到任何关于获取两个文件之间差异的文档 我使用下面的代码使用坚固的方式提交文件 repo Rugged Repository new reponame email protected cdn cgi l email protectio
  • 如何找出在哪个提交中添加了特定代码?

    我想知道我在哪个提交中添加了下面给出的代码 if getListView getChildCount 0 getActivity findViewById android R id empty setVisibility View VISI
  • git:推送单个提交

    假设我进行了多次提交 并希望挑选哪些提交到远程存储库 我该怎么做 在ascii中 C1 gt C2 gt C3 gt C4 我想推C2和C4 通过变基 重置 推送然后重置进行重新排序是否有效 C1 gt C2 gt C3 gt C4 gt
  • dulwich - 从远程仓库身份验证克隆

    我找不到有关此主题的任何资源 我需要通过提供用户名和密码从私有存储库进行克隆 然而 当它们作为关键字参数提供给 dulwich get client from path 时 会出现错误 提示 未知参数 用户名 这似乎是一件简单的事情 但我找
  • 更快的“git rebase --preserve-merges”方法

    我通过创建一系列功能分支来使用 git 并在完成后将它们合并到 mastergit merge no ff 这会创建空的合并提交 可用于识别先前功能分支的起点和终点 为了处理多个并发分支 甚至嵌套分支 我使用 rebase 我从不合并回去
  • 有没有办法显示 Visual Studio 执行的 Git 命令? [复制]

    这个问题在这里已经有答案了 在 Visual Studio Code 中 有一个 显示 Git 输出 菜单项 显示最近运行的 Git 命令 有关其外观的示例 请参阅3 35 在这个视频中 https code visualstudio co
  • 使用可通过 FTP 访问的 Web 服务器进行 Git 托管?

    我运行一个 糟糕的 网站 托管在第三方网络服务器上 我可以通过 FTP 访问我的 Web 服务器 据推测 Git 本身具有通过 FTP 推送 拉取的能力 由于我的 Web 服务器已经可以随处访问 我希望将其用作集中式 Git 存储库 我可以
  • 获得干净的 git 沙箱的最有效方法是什么?

    对于我的持续集成构建 我想确保我的 git 沙箱中没有存放任何杂散文件 并且没有任何文件被无意中更改 我知道关于git reset hard HEAD 这解决了部分问题 但我想我想做的是删除所有未跟踪和忽略的文件 我可以用蛮力的方式做到这一
  • 运行 npm install - 如何配置不使用 SSH(端口被防火墙阻止)

    当我跑步时npm install大多数模块配置正确 然而 至少有人想击中ssh 拉取模块的地址 不幸的是 我的公司有一项政策 不允许内部网络之外的 SSH 连接 我收到的具体错误是 Error while executing npm ERR
  • 在“git revert --continue”期间绕过预提交挂钩

    我当时正在做一个git revert 之前的恢复 这导致了一些合并冲突 解决冲突后 我的预提交挂钩引发了一些代码嗅探器问题 由于这些代码嗅探器通知已在其他地方修复 我想在此时使用绕过预提交挂钩git revert continue no v
  • git lineends redux - Mac OS git 与 Windows 用户的贡献

    我在 Mac OS X 上进行开发 我有一个用户正在贡献带有 CRLF 行结尾的代码 他目前不使用 git 我创建一个分支 然后将我的工作树切换到它 我将他的文件复制到工作树中 当我尝试暂存文件时 收到错误fatal CRLF would
  • Jira 和 git:如何反映所有分支?

    使用 git Fisheye Crucible 和 Jira 4 2 的开发基础架构 自我们在 Jira 中配置映射以来 对 Fisheye 注册存储库的提交反映在 Jira 项目和票证中 然而 似乎只有主分支上的提交才会被反映 在 Cru
  • 通过标记现有提交来触发 Jenkins 管道

    描述 我设置了 Jenkins 2 126 以便在推送新标签时构建管道 具体来说 我想将现有提交标记为master as release 3并让它触发构建 根据多个消息来源 我想要的是可能的 https mohamicorp atlassi
  • 如何重新合并已经合并的分支?

    我有一个类似于下面的提交图 提交标记为 代表大量提交 A B C D lt old feature branch E F G lt master 合并提交 E 未正确完成 C 中的一些更改 不是全部 已丢失 如何重做合并以将更改重新引入当前
  • 如何在不修改 git 历史记录的情况下在我的源代码上运行代码格式化程序?

    我正在尝试使用代码格式化工具格式化整个存储库 这样做时 我想保留有关谁提交了哪一行的信息 以便像这样的命令git blame仍然显示正确的信息 我的意思是它应该显示作者之前编辑过每一行 在格式化之前 git filter branch 命令
  • 为什么 git 挂起 - 在命令后必须按 Enter 两次?

    编辑 摘要 在 Git 中输入的每个命令都会生成一个悬挂光标 如果在按 Enter 之前输入任何内容 则该光标会显示 错误输入 没有命令产生任何结果 我尝试全新安装但没有结果 I am 完全地Git 新手 不知道我在做什么 我用的是Mac
  • 如何防止 Git 对象被垃圾回收?

    据我了解 任何对象在没有任何对象时都会被垃圾收集refs 防止收集我们想要保留在数据库中的对象的最佳方法是什么 一个用例是 当在拉取请求中进行更改 可能根据代码审查 并且以前的提交变得分离时 它们不会合并到存储库中but它们应该始终可用 以
  • git rebase -i --retain-empty-commits

    默认情况下 当您使用git rebase i它注释掉了空提交 我必须取消注释它们 它们对我有帮助 rebase 命令是否有一个选项可以防止这种我不想保留它们的不必要的假设 好吧 这比预期的要容易 git rebase i keep empt
  • 具有共享代码库的多个产品的版本控制和发布管理

    我目前正在尝试弄清楚 在这样一种情况下 如何使用 git flow 进行发布管理 我有一个 git 存储库 其中包含两个解决方案中的大约 15 个项目以及数据库脚本 每个解决方案基本上都包含一个将生成可执行文件的项目和 10 多个包含两个解

随机推荐

  • 未捕获(承诺中)DOMException:注册失败 - 清单为空或丢失

    我正在尝试使用 Polymer 实现推送通知 我跟着这个链接 https developers google com web fundamentals getting started push notifications 并能够让服务人员注
  • 现有 UIPopoverController 中的 UIImagePickerController

    有没有办法将 UIImagePickerController 推送到现有 UIPopoverController 的导航控制器中 我所知道的是 您必须创建一个新的弹出窗口并在其中添加 UIImagePickerController 但我有一
  • Python 中的文字可以被覆盖吗?

    找不到更好的方式来表达标题 请随时更正 我对 Python 还很陌生 目前正在尝试该语言 我注意到所有内置类型都不能与其他成员一起扩展 例如 我想添加一个each方法到list类型 但那是不可能的 我意识到它是出于效率原因而设计的 并且大多
  • 如何在javascript中访问文件? [复制]

    这个问题在这里已经有答案了 是否可以在 JavaScript 中访问扩展名为 txt 或 file 的文件 我想在我的函数中调用这个文件 如果您谈论的是在 Web 浏览器中运行的 javascript 那么答案是否定的 您无法访问客户端计算
  • 对变量执行 openssh 时无法捕获 stderr-perl

    我想捕获 ssh gt 捕获 到变量后主机上显示的标准错误 例如当我尝试时 use Net OpenSSH my ssh Net OpenSSH gt new host my out ssh gt capture cd home geek
  • 使用 Python 请求通过 POST 请求发送图像

    我目前正在尝试使用 Python 3 5 和 Requests 库来发送 POST 请求 此 POST 将发送一个图像文件 这是示例代码 import requests url https api address files files o
  • python中的多服务器监控/自动重启

    我有 2 个服务器程序 必须使用 GNU Screen 启动 我想使用基于 Python 的程序来强化这些服务器 防止崩溃 该程序启动每个屏幕会话 然后监视服务器进程 如果服务器进程崩溃 我需要 python 代码来终止无关的屏幕会话并再次
  • Blackberry 上的套接字连接比 http 更快吗?

    我正在为 Blackberry 编写一个应用程序 该应用程序最初是在标准 J2ME 中实现的 网络连接是使用完成的Connector open socket 80 代替http 现在 我已经使用这两种方法实现了连接 似乎有时 套接字方法响应
  • 如何获取类库项目中的连接字符串

    在我的 net 解决方案中 我有两个不同的项目 一个 MVC 核心 Web 应用程序项目和一个类库项目 在Web应用程序项目中 数据库连接字符串位于appsettings json文件 我想从类库项目访问该连接字符串 是否可以 如果是 怎么
  • 限制主题创建/更改

    我有一个 3 节点不安全的 kafka v0 10 2 1 集群 禁用了主题自动创建和删除功能 如下所示server properties auto create topics enable false delete topic enabl
  • 使用绑定变量动态传递表名和列名

    有没有办法使用绑定变量将列名和表名动态传递给查询 这可以通过使用简单的串联运算符来完成 但我想要一种不同的方法来实现这一目标 EDIT OPEN abc cur FOR Select column name from table name
  • 在android中添加音频到视频

    我想开发一个可以录制视频 mp4 的android应用程序 然后我的资源文件夹中有一些音频文件 mp3 我想将其添加到视频的末尾 所以最终的效果就像首先播放视频 在视频结束时会听到添加的音频 我该怎么做 合并具有不同音频编解码器的文件并不容
  • 如何制作可扩展的文本框?

    我想制作一本以给定宽度 高度开始的教科书 然后 如果用户输入的内容超过给定的空间量 文本框就会向下扩展 我该怎么做呢 我使用 CSS 吗 当用户超过允许的行数时 基本文本框仅显示滚动条 如何使文本框将行数再扩展 5 行
  • 如何将 JSON 对象解析为 TypeScript 对象

    我目前正在尝试将收到的 JSON 对象转换为具有相同属性的 TypeScript 类 但无法使其工作 我究竟做错了什么 员工阶层 export class Employee firstname string lastname string
  • 在 JavaScript 中按名字(按字母顺序)对数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个数组 请参阅下面的数组中的一个对象 我需要使用 JavaScript 按名字排序 我该怎么做 var user bio null email email protected cdn cgi l email
  • 服务器上的 Nano 忽略某些语法着色

    我在用着nano通过 ssh 在服务器上 在该系统上 nano默认情况下没有启用语法颜色 所以我复制了这些纳米语法 http code google com p nanosyntax files 对于替代方案 另请参阅 CraigBarne
  • 在多个 EC2 实例上运行的相同 Kinesis Consumer

    我有多个 EC2 实例为同一个微服务运行 其中有一个 Kinesis 使用者正在运行 使用 KCL 我的问题是 当 Kinesis Stream 获取新事件时 由于所有消费者都在轮询 同一事件是否会被所有实例的消费者消费 KCL 的设计使得
  • 如何让 Numpy 将每一行/张量视为一个值

    许多功能 例如in1d https docs scipy org doc numpy 1 13 0 reference generated numpy in1d html and setdiff1d https docs scipy org
  • 以编程方式设置 Jetty GzipHandler

    我在玩码头GzipHandler它的工作方式似乎相当奇怪 它只压缩已经压缩的文件 我的整个设置是 GzipHandler gzipHandler new GzipHandler gzipHandler setHandler myHandle
  • Git 和外部备份。子目录是空的,我宁愿它不是空的。

    我想使用 Git 创建外部备份系统 这部分是受到答案的启发在外部磁盘上备份整个 git 存储库的最佳方法是什么 https stackoverflow com a 4372855 2533127 其中建议如下 您还可以通过启动一个新的存储库