git和svn开发流程

来源:互联网 发布:ibm云计算 编辑:程序博客网 时间:2024/04/30 13:55
    这里主要记录的是我自己用git作为本地版本库,远程为svn库,平时开发的流程,希望对大家有帮助。    为什么用git呢?最主要的就是git切分支很方便,这对开发有很大帮助。相信大家用svn经常遇到这样的问题吧,在开发一个功能或者修复一个bug,结果却接到一个紧急问题需要解决,但是这时候代码还没开发完,甚至程序都启动不起来,这时候就真的是两难境地。用git就没这个问题,直接切到主分支,或者另开一个分支立刻解决,解决完在切回原来分支继续开发即可,方便高效。    新建分支前,把master的代码更新到最新:git svn rebase,然后新建分支并切换:git checkout -b xxx(分支名,名字任取,最好取个意思明确的),好了,开始开发。    正如上面所说,经常写代码写的high的时候被告知自己开发的功能有bug,需要紧急修复,没关系,马上解决,这时候常遇到的问题就是代码还没写完,都是一些临时代码,不提交是无法切分支的,但是自己又不想提交,怎么办?没关系,git有命令解决:git stash,它会把你现在未提交的内容记录到一个栈中,这时候你就可以切分支了,等你解决完问题回来后,只要执行:git stash pop,之前没提交的代码就回来了,是不是很方便。git stash还有其他一些命令,这里就不描述了,有兴趣的可以自己去查阅资料。    好了,代码开发测试完了,该提交了,怎么办呢?git合并代码有2种,一种是merge,一种是rebase,merge就不说了,rebase其实和merge差不多,主要区别就在于它会先找到2个分支的共同祖先,然后把另外一个分支的内容先打到现在分支,然后再把自己在这个分支提交的所有内容打在后面,这样看上去就是一份提交记录,这样提交记录会比较干净。好了,先切回master分支更新到最新代码,然后切回来,执行git rebase master把代码合并到最新,有可能会遇到冲突,用git mergetool解决下,然后再切回master执行:git merge xxx(之前开发的分支名),最后:git svn dcommit,搞定。    上面就是我工作时常用的流程,只是一家之言,或许别人会有更好的流程,希望这些对大家有帮助。
0 0
原创粉丝点击