使用 Tortoise GIT 将本地 SVN 转换为 GIT 失败并无法连接?

问题描述 投票:0回答:1

EDK2 从 SVN 更改为 GIT,因此我想将本地副本更改为 GIT,然后尝试与他们的版本同步备份,以便我的工作副本更改正确合并。但当我尝试时我得到:

git.exe svn clone "file:///C/edk/edk2" "C:\edk\edk2-git\edk2" -T trunk -b branches -t tags
Can't create session: Unable to connect to a repository at URL 'file:///C/edk/edk2': Unable to open repository 'file:///C/edk/edk2' at C:/Program Files/Git/mingw64/share/perl5/Git/SVN.pm line 310.



git did not exit cleanly (exit code 1) (28781 ms @ 3/24/2024 1:44:47 PM)

我有什么遗漏的吗?这可以吗?

蒂亚!!

git svn git-svn tortoisegit
1个回答
0
投票

从评论中获得详细信息,那么你应该做的是:

  • 对项目进行备份(配方不会失败,但以防万一)。
  • 检查
    svn info
    (如果我没记错的话)您所在的提交编号。
  • 在您使用 svn
    本地
    处理的项目的根目录上运行 git init .。如果你运行
    git status
    ,它会告诉你一切未跟踪。
  • 在此本地存储库中添加一个指向他们已设置的 git 克隆的远程仓库。有什么线
    git remote add origin the-utl-to-the-git-repo
    。我说
    origin
    因为我认为这是有道理的,但也可能是
    ex-svn
    或类似的东西......你的选择。
  • 运行此存储库的提取,以便获取有关远程存储库中内容的所有信息 (
    git fetch origin
    )。没什么可担心的...它不会弄乱你的人。
  • 现在,在远程分支中(检查要查看的正确分支是什么),识别与您正在处理的 svn revision 匹配的 git commit
  • 一旦确定了提交,只需对
    that
    svn commit id 执行 git reset --soft 即可。现在,git 应该认为它正在该提交之上工作,并且只会向您显示要提交的待处理更改。
  • 我建议重命名该分支,这样你就不会将它与可能在远程 git 存储库中使用的
    master
    main
    混淆。顺便说一句,这不是强制性的... git 不太关心分支的名称 但在这个阶段 ,最好不要为了 你的 自己的方便而将其混合...... 至少直到您已经消化了所有这些关于参考文献的令人惊奇的概念,这可能需要一段时间。

让我知道进展如何。

© www.soinside.com 2019 - 2024. All rights reserved.