svn和git比较

svn有哪些优点和缺点?

git有哪些优点和缺点?

git最突然的优点就是gitflow,开发新的功能都是开一个新分支feature,完成开发新特性,合并到develop分支;提交测试也是新增一个分支release,测试没有问题了,然后归并release分支到develop和master分支。

参考

http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html

http://zengrong.net/post/1746.htm

http://www.eclipse.org/egit/

http://blog.csdn.net/fbysss/article/details/5437157

gitflow中feature和release分支最后都要删除掉。

如果master分支(线上)出现紧急bug,开一个hotfix分支修复,将修复之后的代码合并到develop分支,但是还需要验证,如果都在develop分支上开发,develop分支上有很多没有验证的代码,这个时候怎么测试?怎么办?没法测试。所有开发新的功能时,需要开新的feature分支,然后统一合并到develop分支。

如果release分支出现严重的问题,修复之后合并代码到develop分支,如果都在develop分支上开发,develop分支上有很多没有验证的代码,这个时候怎么测试?怎么办?没法测试。所有开发新的功能时,需要开新的feature分支,然后统一合并到develop分支。

这是一种规范。

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了(一种是需要提交的文件很多,某些文件忘记提交,导致对方系统报错,无法启动)。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

原文地址:https://www.cnblogs.com/usual2013blog/p/3944981.html