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

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

不幸的是,虽然有很多CLI的git-svn教程,但TortoiseGit没有任何东西(据说它似乎还处于早期开发阶段)。 因此,我在试图弄清楚我需要什么工作stream程来获得这些部分进行合作时遇到问题。

我在D:\ Projects \ repositories \ MyProject中有一个SVN仓库。 我创build了D:\ Projects \ temp \ gittest,并试图做一个存储库的TortoiseGit“Git克隆”。 从那里,我试图指出trunk / branches / tags文件夹的位置(这只是我的存储库中的标准布局)的问题。 当我离开这些人时,我只能得到有用的结果。 当我似乎让git存储库正确启动,我能够做一些改变,做了一些git提交,但是在做SVN DCommit时遇到了问题。

所以,我希望在那里有人可以提供关于如何正确使用TortoiseGit与现有的SVN仓库(在本地文件系统或远程服务器上的仓库)的一套合理的详细说明。 不“不要使用SVN!” 回应,请 – 我有兴趣学习如何让这两个部分一起工作。 如果你觉得TortoiseGit的SVN支持还不够成熟,那么这也是有用的信息。

谢谢!

  1. 创build一个目录
  2. 右键单击“Git克隆…”
  3. 启用“从SVN库”并select所有进一步的设置

更新:我站在我写的问题的答案(“我打算开始与朋友合作…”),但是如果你想要/需要保持Subversion我喜欢我的git-svn工作stream程 。

git-svn存在的唯一原因是允许将Git与现有的Subversion基础结构一起使用。 由于你基本上没有基础设施,所以完全没有理由不完全切换到Git。 git-svn比svn好,但应尽可能避免。

我强烈build议你git svn clone -s --no-metadata <path_to_svn>然后忘记你有没有svn。

现在可能很明显,但是tortoisegit现在已经内置了对git-svn的支持。

之前已经注意到 – 只是把它作为一个正确的答案:)

TortoiseGit现在已经支持SVN,所以它应该可以正常工作。

我从http://msysgit.github.com/使用了msysgit,这样我就可以从需要接受安全证书和其他命令提示符选项的Subversion存储库中提取。; 一旦代码被拉出,我已经能够使用TortoiseGit的大部分function(除了svn推AFAIR)

你可以尝试使用TortoiseGit而不是整合的SVN支持,而不是像通常的Git客户端。 为了使这个工作,你可以安装SubGit到SVN库。

下面我列出了一些基本的说明如何设置SubGit:

 $ subgit configure SVN_REPOS # Adjust SVN_REPOS/conf/subgit.conf to specify your branches and tags # Adjust SVN_REPOS/conf/authors.txt to specify git & svn authors mapping $ subgit install SVN_REPOS ... $ INSTALLATION SUCCESSFUL 

安装后,你可以在SVN_REPOS / .git上findGit仓库,并像使用普通的Git仓库一样使用它。 每个由TortoiseGit执行的git push都会触发预接收和接收后挂钩,将复制到SVN存储库的修改复制到SVN中。

有关更多详细信息,请参阅SubGit文档和git-svn比较页面。

从版本2.0开始(发布时尚未发布)SubGit允许同步位于不同主机上的Subversion和Git存储库。

SubGit是一个商业工具,但是对于多达10个提交者以及开放源代码和学术项目的仓库是免费的。

免责声明:我是SubGit开发人员之一。

可能是你可以把你的项目,以支持svn访问的 github。 所以你可以继续使用TortoiseSVN并与其他人协作。 另一方面,你可以使用像sourceforge等东西协作通过SVN而不是git。 顺便说一句,为什么不使用git svn克隆URLOfTheSVNRepos和后来做git提交。

只是为了logging: SourceTree for Windows正在从1.4版本开始支持git-svn(和hgsubversion)。 相应的问题是SRCTREEWIN-119 。