For*_*est 14 svn git xcode git-svn xcode4
Subversion几年前很流行,现在git越来越受欢迎,越来越多的人想用git取代Subversion.
问题是很多项目都基于Subversion.所以问题是如何将git与Subversion一起使用.不要完全替换svn,并使用git.
我能想出的最简单的方法是根据你已经检出的Subversion分支代码创建git.然后使用git在本地控制.修改后,提交到本地git服务器,然后使用Subversion检出远程服务器.Subversion就像包含git的容器一样.
顺便说一下,我用xcode 3.x编写代码,之前尝试过xcode 4,但很失望.(Xcode 4现已问世,但尚未重试)
你怎么想 ?或者更好的选择?
谢谢
Subversion就像包含git的容器一样
请务必阅读git-svn附带的CAVEATS部分:
为简单起见,用一个能力较少的系统(SVN)互操作的缘故,建议所有的
git svn
用户clone
,fetch
并dcommit
直接从SVN服务器,并避免所有GIT中克隆/拉/合并/ git仓库和分支之间推操作.
GIT中分支和用户之间交换代码的推荐的方法是GIT中format-patch
和git am
,或只是"dcommit'ing至SVN库.运行
git merge
或git pull
不建议您计划一个分支dcommit
从.
Subversion不以任何合理或有用的方式表示合并; 因此使用Subversion的用户无法看到您所做的任何合并.此外,如果您从作为SVN分支镜像的git分支合并或拉出,则dcommit
可能会提交错误的分支.
因此,您可以使用Git进行任何合并和发布工作流程,只要您将SVN分支单独镜像(在合并或重新定义方面).
我在这里创建了一个关于如何使用git-svn的方法和截屏的集合:
http://www.tfnico.com/presentations/git-and-subversion
其中你会找到一个git-svn镜像设置.理解和设置需要付出一些努力,但它已经为我工作了近一年,拥有相当大的SVN存储库.
更新:一个简单而有价值的做法是始终使用该--prefix
选项初始化git-svn克隆.我在这里解释了原因.