1

希望有人可以帮助解决这个问题,因为这可能是我们将开发环境切换为使用 git 的障碍。

我们将在一个共享的网络环境中拥有多个 git 存储库。git的非常标准的用法。但是,我们还需要一个隔离的环境,源需要复制到该环境。这基本上是通过刻录 CD 并将源代码放入环境中来完成的。我们的一些代码库非常大,因此我们的 CM 人员不希望每次需要将源代码带入封闭环境时都必须复制整个 repo。

我们目前使用 ClearCase,它能够从外部存储库中导出增量以及提交信息,然后将其导入到隔离存储库中。代码永远不会离开隔离的存储库以重新导入外部存储库。

这个功能在 git 中可用吗?外部存储库上的 IE、导出变更集、将其刻录到 CD、将它们放入隔离环境并将这些变更集(连同提交信息)应用到该存储库?

谢谢你的帮助!

4

2 回答 2

2

使用git bundletwalberg 建议。您可以将整个分支 , 捆绑branch-name在一起:

git bundle create bundlefile branch-name

last-release-version或者只是标签以来的增量:

git bundle create bundlefile-delta last-release-version..branch-name

捆绑包可以比补丁更有效地传输并且更易于应用:

git fetch bundlefile-delta branch-name:branch-name
于 2013-05-18T09:32:24.657 回答
1

一种方法是 format-patch

$ git 格式补丁 8fbee89..master
0001-删除-疯狂-折叠-操作-替换-用-saner-.patch
0002-Make-array-construction-use-LOADVN-slightly-faster.patch
0003-EACH-need-not-make-a-backtrack-point-on-the-last-ite.patch

每个文件中都包含这样的差异和重要信息

来自 bc42812715fb56e72717bf18809dd9ba59771b3a 2001 年 9 月 17 日星期一 00:00:00
来自:斯蒂芬·多兰
日期:2013 年 5 月 16 日星期四 15:07:53 +0100
主题:[PATCH 1/3] 删除疯狂的“折叠”操作,替换为 saner

或者,如果您使用的是 GitHub,它可以为您服务!

github.com/stedolan/jq/compare/8fbee89...master.patch

然后将补丁文件带到“锁定”区域或其他任何地方,然后运行

git am 0001-Remove-the-insane-fold-operation-replace-with-saner-.patch

等等。

补丁在 Git 中是如何工作的?

于 2013-05-18T04:29:45.547 回答