Browse > Home / Linux, 开发环境 / Blog article: 围绕在SVN(subversion)周围的GIT运用

| 订阅RSS

围绕在SVN(subversion)周围的GIT运用

四月 3rd, 2009 Posted in Linux, 开发环境

前一段因为家里面的宽带不是包月的,按照时间收费的,在开发的时候,老要提交东西,不提交的放在本地总感觉要和别人冲突了(谁都怕冲突呀,:)),然后就想到了git,现在还是挺火的,然后就试试,没想到等我尝试完毕之后再也放不下了,真是爱不释手,谈谈我的使用感受吧,git看起来很复杂,使用起来的确很方便。

我们目前很多团队使用的版本控制工具应该都是subversion,cvs之类的,我觉得用subversion作为中央版本控制服务器是非常好的东西,支持的客户端也很多,会的人也很多,那么为什么还要gitu呢?不知道大家有没有这样的感受,就是开发的时候,想提交点东西,但是这东西不是很稳定,要等后续工作完成,提交之后又怕影响大家,这个时候会svn的朋友肯定会说,使用branche呀,branch的确可以解决,但是branch的使用和合并那简直是地狱(需要睁大双眼看),再加上如果网络不通怎么办?说了这么多,那么下面我们就说说怎么使用svn作为中央版本控制服务器,git作为本地操作工具.

  • 安装git-svn,
    apt-get install git-svn
  • checkout一个svn项目
    git-svn clone http://dev.xxxx.com/svn/xx/trunk
    如果你的svn服务器是标准布局(含有 trunk branches tags)可以加上 -s 参数,有的客户端不支持这么操作,你可以这么操作:
    git svn init http://dev.xxx.com/svn/xx/trunk
    git svn fetch
    这样就能把项目文件检出到本地.
  • 修改了文件需要提交:
    git commit -a -m ‘注释信息’
    此时只是向本地的git库提交,没有提交到svn中央服务器
  • 提交到svn服务器
    git svn dcommit
  • svn 服务器有新东西,需要下载
    git svn rebase

一些常用命令和svn差不多了,而他的revert和reset真的很强大,使用这个不怕很大的冲突了,他的每次合并就是打patch的过程。

参考资料

http://git.or.cz/course/svn.html

http://utsl.gen.nz/talks/git-svn/intro.html

http://vm-kernel.org/blog/2008/10/24/%E6%B7%B7%E5%90%88%E4%BD%BF%E7%94%A8git-svn%E5%92%8Cgit/

相关文章

Leave a Reply