我已经使用Subversion几年了,在使用SourceSafe之后,我只是喜欢Subversion.结合TortoiseSVN,我无法想象它会如何变得更好.
然而,越来越多的开发人员声称Subversion存在问题,我们应该转向新一代的分布式版本控制系统,例如Git.
Git如何改进Subversion?
我尝试git-svn的动机是毫不费力的合并和分支.然后我注意到男人git-svn(1)说:
不建议在您计划提交的分支上运行git-merge或git-pull.Subversion不以任何合理或有用的方式表示合并; 因此使用Subversion的用户无法看到您所做的任何合并.此外,如果您从作为SVN分支镜像的git分支合并或拉出,则dcommit可能会提交到错误的分支.
这是否意味着我无法从svn/trunk(或分支)创建本地分支,破解,合并回svn/trunk,然后dcommit?我知道svn用户会看到同样的混乱,在svn pre 1.5.x中一直是合并,但是还有其他缺点吗?最后一句也让我担心.人们经常做这些事吗?
Git有git-flow支持的GUI前端吗?
我们的团队在Windows和Linux上使用Eclipse IDE.管理着用git-svn 逐渐感染它们,现在正在寻找下一步来利用真正分支的力量(而不是git-svn-rebase/dcommit).Git-flow似乎或多或少都是我们现在所需要的.然而,我们中的一些人仍然依赖于GUI,它使一切变得更容易销售和提升.
所以,理想情况下,我正在寻找一种从Eclipse访问它的简单方法.EGit似乎还不支持它 - 我正在考虑将它们作为外部工具添加.欢迎提出想法 - 在Eclipse中或在Eclipse之外.
如果上面的答案是否定的,这可能是GUI上瘾者的问题吗?
我知道git-flow工具实际上非常薄,通过手动执行带有或不带gui的'raw'命令很容易实际跳过它(例如,我发现在gitk中操作分支很方便).
一方面,我更愿意尽量减少手工工作,减少错误空间(再次考虑团队的经验).OTOH,我的猜测是我们可以开始只使用develos/release/hotfix分支(稍后引入功能分支),在这个设置中人们只需要正常拉/推.他们不会看到很多git-flow - 它只会作为设置发布和东西的人(大多数是我:)的帮手.这有意义吗?
注意:实际上git-svn/trunk仍然存在 - 对于更偶尔的非git用户.我计划将其与'develop'保持同步(显然忽略了合并历史的压缩合并).希望这将是流畅的名言吗?
我正在使用svn.我有两个分支,并且两个分支都进行了很多更改.除了其中一个分支之外,很多文件都被重命名,所以现在svn无法帮助我合并这些文件中的更改(知道svn限制).
谢谢