Xcode 与svn一起使用git的良好实践

Xcode 与svn一起使用git的良好实践,xcode,svn,git,git-svn,xcode4,Xcode,Svn,Git,Git Svn,Xcode4,Subversion在几年前很流行,现在git越来越流行,越来越多的人希望用git取代Subversion 问题是很多项目都是基于Subversion的。所以问题是如何将git与Subversion一起使用。不要完全替换svn,使用git 我能找到的最简单的方法是基于您已经签出的Subversion分支代码创建git。然后使用git进行本地控制。修改后,提交到本地git服务器,然后使用Subversion签出到远程服务器。Subversion就像包含git的容器 顺便说一句,我是用xcode 3

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的容器

请务必阅读附带的注意事项部分:

警告 为了简化操作并与功能较差的系统(SVN)进行互操作,建议所有
git SVN
用户
clone
fetch
dcommit
直接从SVN服务器进行,并避免git存储库和分支之间的所有git克隆/拉/合并/推操作。
建议在git分支机构和用户之间交换代码的方法是git
格式补丁
git am
,或者只是“向SVN存储库提交数据”

在您计划从
dcommit
开始的分支上,不建议运行
git merge
git pull

Subversion不代表以任何合理或有用的方式进行合并;因此,使用Subversion的用户无法看到您进行的任何合并。此外,如果合并或从作为SVN分支镜像的git分支中提取,
dcommit
可能会提交到错误的分支


因此,您可以采用Git的任何合并和工作流,只要您不使用镜像的SVN分支(就合并或重新调整而言)。

我在这里创建了一个如何使用Git SVN的指南和屏幕广播集:

其中您可以找到git svn镜像设置。理解和设置它需要一些努力,但它已经为我工作了将近一年,有一个相当大的SVN存储库


更新:一个简单而有价值的实践是始终使用
--前缀
选项初始化git svn克隆。我听说过。

有没有听说过?git svn不能在这里工作,速度太慢,很容易出错。使用git根据svn代码创建新的存储库,这是我认为最简单的方法。在我看来,这听起来像“如果你想使用svn,就使用svn。”这很糟糕。@Lakshman:这只意味着git上的所有操作都不能安全地镜像到svn上。尽管如此,当集中式服务器依赖SVN作为官方存储库时,双Git SVN还是有意义的,而开发任务可以继续使用Git。实际上,在我的情况下,我不打算使用Git SVN,我只是从SVN签出的代码创建Git存储库。因为当我使用gitsvnclone命令时,它太慢了,最终无法成功地检出它们。但是只要使用svn就可以正确地检出。@Forrest:这也可以工作,即使集成没有
git svn
那么紧密。Xcode拒绝指出svn的错误,但只有在我使用组合后才适用于git。