Git和SVN面对面 Git和SVN协同模型

    比较项目 SVN命令 Git命令
    URL svn://host/path/to/repos git://host/path/to/repos.git
    https://host/path/to/repos ssh://user@host/path/to/repos.git
    file:///path/to/repos user@host:path/to/repos.git
    file:///path/to/repos.git
    /path/to/repos.git
    版本库初始化 svnadmin create git init [–bare]
    导入数据 svn import -m … git clone; git add .; git commit
    版本库检出 svn checkout git clone
    版本库分支检出 svn checkout git clone -b
    工作区更新 svn update git pull
    更新至历史版本 svn update -r git checkout
    更新到指定日期 svn update -r {} git checkout HEAD@’{}’
    更新至最新提交 svn update -r HEAD git checkout master
    切换至里程碑 svn switch git checkout
    切换至分支 svn switch git checkout
    还原文件/强制覆盖 svn revert git checkout –
    添加文件 svn add git add
    删除文件 svn rm git rm
    移动文件 svn mv git mv
    清除未跟踪文件 svn status | sed -e “s/^?//” | xargs rm git clean
    清除工作锁定 svn clean -
    获取文件历史版本 svn cat -r @ > git show : >
    反删除文件 svn cp -r @ git add
    工作区差异比较 svn diff git diff
    git diff –cached
    git diff HEAD
    版本间差异比较 svn diff -r : git diff
    查看工作区状态 svn status git status -s
    提交 svn commit -m “ git commit -a -m “” ; git push
    显示提交日志 svn log | less git log
    逐行追溯 svn blame git blame
    显示里程碑/分支 svn ls git tag
    svn ls git branch
    git show-ref
    创建里程碑 svn cp git tag [-m “”] []
    删除里程碑 svn rm git tag -d
    创建分支 svn cp git branch
    git checkout -b
    删除分支 svn rm git branch -d
    导出项目文件 svn export -r git archive -o
    svn export -r git archive -o –remote=
    反转提交 svn merge -c - git revert
    提交拣选 svn merge -c git cherry-pick
    分支合并 svn merge git merge
    冲突解决 svn resolve –accept= git mergetool
    svn resolved git add
    显示文件列表 svn ls git ls-files
    svn ls -r git ls-tree
    更改提交说明 svn ps –revprop -r svn:log “ git commit –amend
    撤消提交 svnadmin dump、svnadmin load 及 svndumpfilter git reset [ –soft | –hard ] HEAD^
    属性 svn:ignore .gitignore 文件
    svn:mime-type text 属性
    svn:eol-style eol 属性
    svn:externals git submodule 命令
    svn:keywords export-subst 属性