使用TortoiseGit与SVN存储库交互的说明?

mar*_*son 40 svn git-svn tortoisegit

多年来,我一直在Windows上使用TortoiseSVN,为我自己的项目提供本地文件系统存储库.我打算开始与其中一个项目的朋友合作,并将存储库转移到我自己的网站.我读了很多"git beats SVN!" 过去几年的帖子,并认为我至少应该看到大惊小怪的是什么.一些研究发现了"git svn"命令,并且TortoiseGit声称拥有一定程度的git-svn支持.我喜欢保留SVN存储库的想法,并在将它们提交到存储库之前用git做一些本地提交或分支."搁置"命令听起来也很有用.

不幸的是,虽然有很多CLI git-svn教程,但TortoiseGit却没有任何东西(事实上它似乎还处于早期开发阶段).结果,我在试图找出让这些部分合作所需的工作流程时遇到了问题.

我在D:\ Projects\repositories\MyProject中有一个SVN存储库.我创建了D:\ Projects\temp\gittest,并尝试对存储库执行TortoiseGit"Git Clone".从那里,我有问题试图指出trunk/branches/tags文件夹的位置(这只是我的存储库中的标准布局).当我离开那些未经检查的时候,我只能得到有用的结果.当我确实正确地启动了git存储库时,我能够进行一些更改并执行一些git提交,但是在执行SVN DCommit时遇到了问题.

所以,我希望有人可以提供一套相当详细的说明,说明如何正确使用TortoiseGit与现有的SVN存储库(本地文件系统或远程服务器上的存储库).不"不要使用SVN!" 请回答 - 我有兴趣学习如何让这两件作品一起工作.如果你觉得TortoiseGit的SVN支持还不够成熟,那么这也是有用的信息.

谢谢!

小智 26

  1. 创建一个目录
  2. 右击,"Git Clone ......"
  3. 启用"从SVN存储库"并选择所有其他设置


dah*_*byk 9

更新:我支持我对问题的回答("我打算开始与朋友合作......"),但是如果你确实想要/需要保留Subversion我更喜欢我的git-svn工作流程.

git-svn存在的唯一原因是允许在现有的Subversion基础设施旁边使用Git.由于您基本上没有基础设施,因此绝对没有理由不完全切换到Git.git-svn比svn好,但是如果可能的话应该避免.

我强烈建议你git svn clone -s --no-metadata <path_to_svn>忘记你曾经有过svn.

  • 也许你没有仔细阅读我的初步问题.我确实有一个现有的SVN设置,目前正与一些项目的朋友一起使用它.我希望尝试使用TortoiseGit与SVN服务器进行交互,而我的朋友继续使用TortoiseSVN,因为这是他们所熟悉的.感谢您抽出时间回复,但这实际上并没有回答我的实际问题. (7认同)
  • 对不起,你是对的 - 措辞已经过时了.我从未在TortoiseGit与SVN良好互动方面取得多大成功.不确定是TG的错,还是我对Git缺乏了解.从那以后,我一直专注于编写代码而不是摆弄TG.我仍然很好奇如何让他们正确合作,如果有人在那里关心整理教程...... (3认同)
  • 另外,一个建议.IMO你应该首先学习Git'与Git'(即不是svn) - 并在必要时尝试假项目 - 然后再尝试通过git-svn使用它.Git与SVN非常不同,值得专门学习.图形工具的明显简单性无法避免这种情况. (3认同)

JBC*_*BCP 8

现在这可能是显而易见的,但是tortoisegit现在已经内置了对git-svn的支持.


khm*_*ise 0

也许你可以把你的项目放到支持svn 访问的github 上。因此您可以继续使用 TortoiseSVN 并与其他人协作。另一方面,您可以使用诸如 sourceforge 等工具通过 SVN 而不是 git 进行协作。顺便说一句,为什么不使用 git svn clone URLOfTheSVNRepos 并稍后执行 git 提交。