gpt4 book ai didi

git - 如何 git-svn 从 Subversion 存储库中克隆最后的 n 个修订版?

转载 作者:IT王子 更新时间:2023-10-29 01:12:19 28 4
gpt4 key购买 nike

问题

如何使用 git-svn 从 Subversion 存储库创建浅拷贝,例如如何只提取最后三个修订版?

如果您使用选项 --depthgit clone 命令可以从 Git 存储库中获取最后的 n 个修订,即您获得存储库的浅拷贝。示例:

git clone --depth 3 git://some/repo myshallowcopyrepo

git-svn 有类似的选项吗?

到目前为止我的发现

到目前为止,我只找到了 -rN 选项,其中 N 是要提取的修订版。示例:

git svn clone -rN svn://some/repo

根据文档,可以使用 -r$REVNUMBER:HEAD。我尝试了以下方法来获取返回错误消息的最后 3 个修订。

$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn

所以我将 HEAD~3 替换为第三次也是最后一次修订的实际编号 534。这行得通,但这需要我首先计算出第三次也是最后一次提交的修订号。

$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .

文档

git-clone

git-svn

最佳答案

您已经发现了在 Git-SVN 中指定浅克隆的最简单方法,方法是指定您希望从 (-r$REV:HEAD) 开始克隆的 SVN 修订号.

例如:git svn clone -s -r1450:HEAD some/svn/repo

Git 的数据结构基于有向无环图 (DAG) 中的指针,这使得回溯 n 提交变得微不足道。但是在 SVN 中(因此在 Git-SVN 中)你必须自己找到修订号。

关于git - 如何 git-svn 从 Subversion 存储库中克隆最后的 n 个修订版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747075/

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