我正在评估让我们的团队远离CVS的各种选择。我们在另一个网站上有另一个大型团队使用Subversion,我们的一些开发人员使用Subversion服务器。因此,Subversion是我们团队的不二之选。然而:涉及Subversion的操作服务器可能很慢(虽然我们关系很好站点之间)。我们中的许多人都卖掉了关于分布式版本的想法控制,并使用Mercurial或git广泛(然后merge并提交到CVS并从中获取更改git-svn看起来interesting但我想知道的是,由于在Subversion中拥有少量集中式分支,DVCS(如git)的功能有多少会丢失。特别是,我仍然希望能够保留我们使用M
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion请提供有效使用git和svn的技巧。您的“最佳做法”是什么?
我使用Git在本地保留项目的历史记录。后来我被要求将整个git项目提交到一个远程的空svn项目文件夹(通常的主干、标签、分支结构,在这种情况下和拼写)。我能够很好地提交到主干,但似乎没有任何标签被提交。有没有办法提交标签,最好是通过单个命令?附言我正在使用TortoiseGit,但命令行也可以。 最佳答案 Git和SVN对待标签的方式不同。标签是Git中的一个强大功能,但在SVN中只是一个文件夹,就像分支一样。因此,要从git-svn在SVN中创建标签,您必须在git-svn存储库中创建一个分支(标签)。Git标签不会被“dcomm
我最近在我的存储库中有一个损坏的对象,指向我的HEAD(该对象是空的)。它发生在中断git-svn命令之后。然后,我通过手动更改此对象上的引用来恢复我的存储库。现在,我想将我的git存储库与SVN同步,但是gitsvnfetch返回:fatal:Invalidrevisionrange5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remotes/a-branchrev-list--pretty=raw--no-color--reverse5a5dc92cd3083960fb4828ae387a32cda0554fa8..refs/remo
我正在尝试使用GCCgit镜像,已记录here.前段时间,我克隆了git仓库:gitclonegit://gcc.gnu.org/git/gcc.git添加了git-svn内容:gitsvninit-Ttrunk--prefix=origin/svn+ssh://gcc.gnu.org/svn/gcc然后gitsvnrebase和gitsvndcommit等都运行良好。几个月后,我在本地git分支上完成了各种开发工作,并且开始向上游SVN提交更多更改:从git镜像更新:$gitrebase确保我拥有来自SVN的绝对最新版本,但它不起作用:$gitsvnrebase-vUnabletod
我正在阅读有关使用git作为svn客户端的信息:http://learn.github.com/p/git-svn.html该页面建议您在gitsvndcommit之前执行gitsvnrebase,这非常有道理;这就像在执行svn提交之前执行svn更新。然后,我开始查看gitsvndcommit的文档(我想知道“d”是什么意思):http://git-scm.com/docs/git-svn你必须向下滚动一点才能看到关于dcommit的文档,它是这样说的:CommiteachdifffromaspecifiedheaddirectlytotheSVNrepository,andthen
以下是git工作流程的示例:https://github.com/bard/sameplace/wiki/typical-git-workflowhttp://www.nabble.com/Git-workflow-overview-td16340337.htmlhttp://osteele.com/archives/2008/05/my-git-workflow假设您想利用错误跟踪器与您的版本控制系统的集成。在哪里/如何适合这些工作流程。您实际上会在跟踪器中看到什么?我是BugTracker.NET的作者,它像许多其他错误跟踪器(Trac、Redmine、FogBugz)一样与svn
我正在处理的一个SVN项目(通过git-svn)有经常创建的分支,然后与主干重新集成,然后删除。目前该项目有大约10个分支没有被删除,但是在git中,gitbranch-r显示大约有50个。我可以一次删除这些,检查它们是否仍然存在于svn存储库中,但它既缓慢又乏味。有没有办法将我的git远程分支列表与svn存储库同步? 最佳答案 这是我在几分钟内做出的快速解决方案。它利用了并非随处可用的良好正则表达式模式。这会获取一个干净的分支列表。我删除了每行开头的格式空格,现在我忽略了标签:gitbranch-r|sed's|^[[:space
我正在做一个有两个分支的svn项目,我们称它们为trunkbranches/foo我的想法是克隆整个svn存储库(告诉git哪个文件夹是主干、标签和分支),在git中进行merge,然后将我的merge复制到svn工作副本并从svn提交更改。在此工作流程中,我是否能够使用gitsmerge功能,还是仅适用于使用git本身创建的分支? 最佳答案 为checkout命令创建别名:gitconfigalias.cocheckout确保您的本地分支机构是最新的:gitcomaster#checkoutbranchthattrackssubv
好的,我确定有人遇到过这个问题并且可以帮助我。我正在尝试让git-svn在OSXLeopard(10.5.6)上运行。使用MacPorts我已经这样运行安装:sudoportinstallgit-core+svn但是,git-svn还没有安装,不可用。在漫长的依赖项安装过程中没有出现任何错误,所以我不知所措。将不胜感激。 最佳答案 至少在我的安装中,我必须将其调用为gitsvn而不是git-svn. 关于svn-通过MacPorts安装后在MacOSXLeopard上找不到git-svn