git 与 svn 联合使用

git 以分布式代码管理闻名,相对于svn它有几个优点:

  1. 代码管理的高速
  2. 独立的分布式仓库
  3. 高效的分支管理功能(这一点是我最看重的)
  4. 经过了 linux 内核这样的超大规模项目的考验

将 svn 项目导出为 git 管理的项目

这个过程会很长,它会将 svn 项目的每次提交都转换为 git 的一次提交,有时候这个过程会持续几个小时。

git svn clone http://svn.project.com/path

将 svn 项目中的更新,更新到 git 项目中来

git svn rebase

将 git 项目提交到 svn (一定要是从 svn 导出的项目)

提交前一定要先将 git 项目进行本地提交,不然没法将 git 的commit 同步到 svn 上。

# 提交项目到本地 git 仓库
git add --all
git commit -m "commit changes"

# 同步 git 项目的提交到 svn 仓库
git svn dcommit

http://git-scm.com/book/zh/v1/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-Git-%E4%B8%8E-Subversion