gpt4 book ai didi

git bundle 与 git-svn

转载 作者:行者123 更新时间:2023-12-04 05:08:59 25 4
gpt4 key购买 nike

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

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

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

谢谢!

最佳答案

虽然 git svn 最初是这样设置的,以便 svn 分支显示为
远程,可以通过更改用于创建分支的 refspec 来更改。
但是,这应该在从 svn 存储库中获取任何内容之前完成。

git svn init --stdlayout http/svn.server/path svnclone
cd svnclone
edit .git/config

然后更改 fetchbranches行,可能还有 tags线到
看起来像:
fetch = trunk:refs/heads/trunk
branches = branches/*:refs/heads/*
tags = tags/*:refs/tags/*

如果 svn 存储库未使用标准布局,您可以将其指定为
通常在调用 git svn init .在这种情况下,你想离开
上面几行在冒号之前的部分,因为它们只是改变了
结肠后的部分。

完成设置后,您可以使用 git svn fetch实际复制
内容。由于分支进入 refs/heads命名空间,包括 git bundle命令会将它们视为本地分支。只要那个克隆
仅用作其他克隆的来源(通过捆绑或只是
使用 clone 命令)应该没有问题。虽然如果有一个 svn
分支命名 mastertrunk这很可能是个问题。

关于git bundle 与 git-svn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com