共享完整的 git 存储库
Share full git repository
bundle
和 unbundle
存储库上有很多主题,但我找不到恢复它的方法使用 reflog。
git bundle create mybundle --all
现在 git clone mybundle
清除 reflog 并且 git init && git bundle unbundle mybundle
什么都不做?
有人可以解释为什么 unbundle
命令似乎没有效果吗?除了复制 .git
目录之外,pack/unpack 使用 reflog 完整存储库的最佳方法是什么?
捆绑包,由 git bundle
读取和写入,分两步而不是一步实现 git fetch
协议。这允许您执行操作,即使两个存储库之间没有可用的网络连接。例如,假设您在实验室中有计算机 A,而计算机 B 在山顶上运行 telescope,但那里还没有 Internet。你想为计算机 B 带来软件更新,所以你在实验室的计算机 A 上构建了一个“捆绑包”,将其写入 USB 密钥或其他任何东西,开车上山,并用它来更新计算机 B。
如果你确实有可用的网络,你会开车上山(或只是远程登录)并运行git fetch
在电脑上B. 这 不会从计算机 A 复制 reflogs。 Git 存储库的 reflogs 特定于该存储库 ,并且那里这里有两个独立的存储库:计算机 A 上的一个存储 他们的 引用日志,计算机 B 上的一个存储他们的(不同的)引用日志。
由于 git bundle
正在复制 git fetch
所做的事情,因此这不会按设计更新引用日志。
git bundle unbundle mybundle
does... nothing?
它运行s git index-pack
。这不是供人类使用的:它用于 git fetch
到 运行。
what is the best way [to copy] a reflog ...
reflog 用于在本地存储库上运行的命令,并由其维护。复制整个 .git
目录会复制整个存储库,包括 reflog,这是执行此操作的唯一“普通用户”方式。您 可以 使用 git reflog show
转储存储库 A 上的现有引用日志,然后使用一系列 git update-ref
命令在存储库 B 上添加新条目,但是这些会是具有新日期的新条目,而不是现有条目的副本。
简而言之,存储库 不适合共享。 提交 旨在共享,而不是包含它们的存储库:每个存储库都是私有的。
bundle
和 unbundle
存储库上有很多主题,但我找不到恢复它的方法使用 reflog。
git bundle create mybundle --all
现在 git clone mybundle
清除 reflog 并且 git init && git bundle unbundle mybundle
什么都不做?
有人可以解释为什么 unbundle
命令似乎没有效果吗?除了复制 .git
目录之外,pack/unpack 使用 reflog 完整存储库的最佳方法是什么?
捆绑包,由 git bundle
读取和写入,分两步而不是一步实现 git fetch
协议。这允许您执行操作,即使两个存储库之间没有可用的网络连接。例如,假设您在实验室中有计算机 A,而计算机 B 在山顶上运行 telescope,但那里还没有 Internet。你想为计算机 B 带来软件更新,所以你在实验室的计算机 A 上构建了一个“捆绑包”,将其写入 USB 密钥或其他任何东西,开车上山,并用它来更新计算机 B。
如果你确实有可用的网络,你会开车上山(或只是远程登录)并运行git fetch
在电脑上B. 这 不会从计算机 A 复制 reflogs。 Git 存储库的 reflogs 特定于该存储库 ,并且那里这里有两个独立的存储库:计算机 A 上的一个存储 他们的 引用日志,计算机 B 上的一个存储他们的(不同的)引用日志。
由于 git bundle
正在复制 git fetch
所做的事情,因此这不会按设计更新引用日志。
git bundle unbundle mybundle
does... nothing?
它运行s git index-pack
。这不是供人类使用的:它用于 git fetch
到 运行。
what is the best way [to copy] a reflog ...
reflog 用于在本地存储库上运行的命令,并由其维护。复制整个 .git
目录会复制整个存储库,包括 reflog,这是执行此操作的唯一“普通用户”方式。您 可以 使用 git reflog show
转储存储库 A 上的现有引用日志,然后使用一系列 git update-ref
命令在存储库 B 上添加新条目,但是这些会是具有新日期的新条目,而不是现有条目的副本。
简而言之,存储库 不适合共享。 提交 旨在共享,而不是包含它们的存储库:每个存储库都是私有的。