问题标签 [git-bundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
33686 浏览

git - 如何使用 git-bundle 保持开发同步?

我需要在不同的计算机上保持我的开发树同步,它们之间没有网络连接。

我们有一个中央 git 存储库,我通常在办公室计算机上使用自己的克隆。有时我需要在另一台从未连接到办公网络的计算机上进行一些开发。这些计算机都没有连接到互联网。可以在同步之间在两台计算机上执行开发。

我已经阅读了git-bundle的帮助页面,这似乎是最好的工具,但我不确定如何设置一个好的工作流程。

你能给我一些建议或指点吗?

0 投票
1 回答
844 浏览

git - git 捆绑创建

我正在使用 git 版本 1.7.10.msysgit.1。我有一个工作目录,我从许多存储库中克隆了该目录。但是,现在我只想为一个仓库转移我的更改。如何使用 git bundle create 命令为我的工作树中的一个文件夹创建一个包?有人对此有线索吗?

0 投票
2 回答
3916 浏览

git - 在 git 包中提交

嗨!

有没有办法在不先克隆的情况下获取存储在 git 包中的所有提交的列表?

获得头脑很容易,但我找不到一种方法来获取完整的日志。

0 投票
1 回答
591 浏览

git - git 与 git-svn 捆绑

我正在尝试将 git-bundle 与 git-svn 存储库一起使用。本质上,我需要创建一个离线 git 存储库,其中包含我们生产 SVN 系统的克隆。SVN 仓库是通过 git-svn 克隆的,效果很好。它会克隆我们的代码,并将其列在 remotes/* 下。

现在是困难的部分。我需要将其与我们的离线存储库保持同步。离线环境无法访问互联网,并且只能通过单向方法(例如 cd 等)获取更新。这是一种单向交易。我想用 git-bundle 做到这一点。问题似乎归结为 git-svn 将 svn 存储库标记为远程。我曾尝试使用...检查一个捆绑包git bundle create ____.bundle --all,但它只包括我的主人。它不包括遥控器参考。但是,我需要获取所有这些信息。

这有意义吗?任何提示/建议?应该明确的是,我们不会提交到 SVN 端的 git 存储库,它将是只读的。在离线方面,我们将分支远程分支,并在那里提交。

谢谢!

0 投票
1 回答
833 浏览

git - 用于人类可读的运动鞋网“拉/推”的 Git 格式补丁/捆绑包

我有两个房间,我在其中使用 git 维护一些源代码,一个“开发”房间,其中大多数开发发生在一个“部署”房间,我们实际使用该软件。不可避免地,部署室也会发生一些变化。我希望两个房间在 git 中共享相同的历史记录。

限制:

  1. 出于安全原因,这两个房间没有网络连接。
  2. 只有文本文件(人类可读)可以离开部署室。

使用 将更改移动到部署室很简单git bundle,并跟踪我们移动到部署室的最后一次提交。由于仅限文本的限制,将更改移出房间更加困难。

目标:在我的两个未连接的房间之间来回移动提交,就好像git pull发生了一样,两个房间中的 SHA1 哈希值相同。

至今:

  • 我试图git format-patch将更改从部署移回开发,但这不会记录合并,因此需要为每个连续的更改集生成不同的补丁集以及如何重现确切的合并提交的一些记录发生在两者之间。有一些关于为合并提交制作差异的讨论,但这似乎并没有捕捉到实际的祖先,只有变化。看起来补丁可能不是一种足够丰富的格式来提供必要的信息。

  • 一些捆绑到文本的脚本可用于将捆绑转换为非压缩和人类可读(ish)格式,(然后在下载后再次返回),但我没有发现存在这样一个脚本的证据。

  • 也许可以编写一个脚本来将历史从某个共同的祖先走到最新的提交,然后 a) 制作补丁或 b) 重新创建一些众所周知的 ref 的合并。

回退: 我总是可以将来自部署室的提交压缩到一个原始补丁中并破坏历史记录,但是从 dev->deploy 进一步下载会破坏任何现有的工作副本。不理想。

更新: 我相信git fast-export可以做我需要的,尽管大多数例子都适用于整个存储库而不是部分历史,如git bundle. 我有一个工作玩具示例,我可以在其中将部分历史记录导出到过时的克隆中,但它需要我手动编辑快速导出输出,以便我from <sha1>在第一次提交中添加一个。如果不进行此修改,导入会创建不同的 sha1,然后使用Not updating refs/heads/master (new tip <hash> does not contain <master's hash>).

Update2: 我的git fast-export解决方案确实有效,但存在带宽问题,因为它通过提供全新文件而不是与以前文件的差异来工作。这是不可接受的,因为我实际上必须阅读所有这些额外的行。

0 投票
1 回答
88 浏览

git - 使用捆绑包时重置“提前分支”

在我当前的工作流程中,我得到了一个 git 包,我将其解包:

然后我向它添加补丁:

git log 显示补丁已提交;但是,当我运行 git status 时,它说Your branch is ahead of 'origin/master' by 2 commits.

据我了解,这意味着我必须将评论推送到原始分支。这是不可能的,因为我使用的是捆绑包。

什么是正确的方法来实现它并致力于当前的“起源/主人”?

0 投票
1 回答
1594 浏览

git - 使用 git-bundle 将更改传输到多个分支

我一直在寻找 git-bundles 作为一个选项,以使我的 2 个存储库(正在持续工作)彼此同步。

由于两者都是两个不同的地理位置,并且设置 VPN 也不是我打算使用捆绑包的选项..(还有其他更好的选择或方法吗?)

我在这里偶然发现了Jefromi 的回答。它很好地解释了事情。

但是,如果我正在处理多个分支并且我想全部更新它们,我该怎么做?

(答案使用 master 的基础,但使用 --branches 将再次复制捆绑中所有其他分支的完整历史记录。我只想更新/添加所有分支的提交)

0 投票
2 回答
16068 浏览

git - 如何打开 .bundle 文件

.bundle我在我的 gmail 中收到了文件。有人告诉我这是一个 git bundle 文件。我试图用崇高的方式打开它,我得到了一堆看起来像十六进制值的东西。它应该是代码挑战的说明。我有一个mac。任何帮助将不胜感激!

0 投票
1 回答
4176 浏览

git - 使用所有分支恢复 gitlab 备份存储库捆绑文件

我需要从 gitlab 备份中恢复一些存储库。此备份包含所有存储库的 .bundle 文件。如何恢复包含所有分支的完整存储库?

如果我跑,git bundle list-heads myfile.bundle我可以看到所有的分支。

我想使用所有分支在本地恢复该存储库,以将其推送到新的/空的 gitlab 存储库。

我试过使用 git clone、git pull 我能找到的所有其他技巧,但这只会导致一个只有 master 分支的 repo。

0 投票
1 回答
218 浏览

git - 从多个 Git 包文件创建 repo

我收到了多个 Git 捆绑文件,并希望将它们合并到一个存储库中。

我知道该命令git clone myfile.bundle将从捆绑文件创建一个 repo,然后我可以将其与所有其他文件合并在一起。有没有组合多个捆绑文件的方法?