gpt4 book ai didi

git - 将没有历史和用户的 SVN 文件夹结构导入 Git Repo

转载 作者:太空狗 更新时间:2023-10-29 14:11:19 28 4
gpt4 key购买 nike

我正在寻找一种简单的方法来导入一些继承的 SVN 代码(虽然它位于包含分支/标签和主干的 SVN 文件夹结构中,但没有任何 .svn 文件夹,因此不包含任何历史记录或 SVN 用户等).我们只有完整的遗留 SVN 代码,没有 .svn 文件夹,也无法访问原始 SVN 存储库。

最佳答案

好吧,如果你只有最新版本而没有历史记录,你能做的最好的事情就是将它作为新代码导入到 git 中。

您不知道分支和标签之间的关系,因此您可以简单地将每个分支作为单独的根导入,或者您可以尝试从明显的属性重建关系,例如每个版本都基于之前的版本。

因此,您只需创建一个空的 git 存储库,然后为每个分支/标签:

  1. 准备合适的分支。

    • 一个新的存储库从分支 master 开始,没有父级。那是您导入 trunk 的地方,但在此之前,您导入任何您知道的标签。
    • 您使用 git checkout -b new-name base 从已知基础创建一个新分支。例如,如果您知道某些分支是基于特定版本的。
    • 您使用 git checkout --orphan new-name 创建了一个没有父分支的新分支。对于您不知道分支基于什么的情况。参见 git-checkout .
  2. 删除之前的内容:git rm -rf .

  3. 复制 SVN 分支/标签的内容。

  4. 添加所有内容 git add .

  5. 提交:git commit -m 消息

  6. 冲洗并重复直到完成。

如果您不关心这些关系,您可以轻松编写脚本。如果你想重建一些历史,例如该 master 继版本 3 之后,继版本 2 和版本 1 之后,您将必须手动排序和选择分支。

你也可以在每个目录中简单地 git init + git add . + git commit 并在适当的情况下将每个推送到相同的中央仓库名称,但这不会让你重建任何历史。

关于git - 将没有历史和用户的 SVN 文件夹结构导入 Git Repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362551/

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