版本控制软件比较
基本命令

表格说明
绿格中不在[方括号]里的命令使用了交互式的命令行提示符。[方括号]中的文本用来解释哪里能找到等价功能。
库初始化：创建一个新的空库（比如，版本控制数据库）。
克隆：创建一个完全相同的库实例（在一个安全事务中）。
拉：将版本从远程库下载到本地库。
推：将版本从本地库上传到远程库。
本地分支：创建一个不存在于原始远程库中的本地分支。
检出：从（远程）库创建一个本地工作副本。
更新：用库中的最新版本更新工作副本中的文件。
锁定：锁定库中的文件，以免被其他用户更改。
添加：标记指定的文件，以便在下一次提交时添加到库中。
移除：标记指定的文件，以便在下一次提交时移除（注：保存在移除时及之前的相关版本历史）。
移动：标记指定的文件，以便在下一次提交时移动到新的位置。
拷贝：标记指定的文件，以便在下一次提交时拷贝。
合并：融合同一个工作副本路径的两个来源之间的差别。
提交：将变化记录到库中。
恢复：从库中恢复工作副本文件。
生成打包文件：创建一个包含压缩的对给定库的变化集的文件。
重定位：将本地提交重定位到已更新的上游地址。
| 软件 | 库初始化 | 克隆 | 拉 | 推 | 本地分支 | 检出 | 更新 | 锁定 | 添加 | 移除 | 移动 | 拷贝 | 合并 | 提交 | 恢复 | 生成打包文件 | 重定位 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| AccuRev SCM（英语：） | mkdepot | N/A | N/A | N/A | mkstream | mkws | update | anchor | add | defunct | move | cp [然后] add / incl -s / ln | merge | keep / promote | purge / revert | N/A | chstream |
| GNU Bazaar | init / init --no-tree / init-repo / init-repo --no-trees | branch / branch --no-tree | pull | push | init / branch | checkout / checkout --lightweight | update | N/A | add | rm | mv | N/A | merge | commit | revert | send | rebase |
| BitKeeper | setup | clone | pull | push | clone | co | pull | 未知 | add | rm | mv | cp | pull | commit | undo | makepatch | collapse |
| ClearCase（英语：） | init | N/A | N/A | N/A | N/A | checkout | update | lock / unlock | mkelem | rmname | mv | N/A | merge | checkin | uncheckout / rmver | N/A | findmerge |
|  CVS | init | N/A | N/A | N/A | N/A | checkout | update | 未知 | add | rm | N/A | N/A | update -j | commit | remove [然后] update | N/A | N/A |
| CVSNT（英语：） | init | N/A | N/A | N/A | N/A | checkout | update | edit | add | rm | rename | N/A | update -j | commit | update -C | N/A | N/A |
| darcs（英语：） | init | clone | pull | push | N/A | clone | pull | 未知 | add | remove | move | N/A | pull / push | record | revert | send -o | rebase |
| Fossil | new / open | clone | pull | push | branch / commit --branch | clone / open | update | N/A | add | rm / del | mv / rename | N/A | merge | commit | revert | Fossil的库本身是一个单独的sqlite文件 | N/A |
| Git | init / init --bare | clone / clone --bare | fetch | push | branch | checkout | pull | N/A | add | rm | mv | cp [然后] git add | merge | commit | revert | bundle | rebase |
| Mercurial | init | clone | pull | push | bookmark | clone | pull -u | N/A | add | rm | mv | copy | merge | commit | revert | bundle | rebase |
| Monotone | init | clone | pull | push | N/A | checkout | update | 未知 | add | drop | rename | N/A | merge | commit | revert | N/A | N/A |
| Perforce（英语：） | p4 client [和] p4 sync | p4 sync | p4 sync | p4 submit | 要求迁移到最近的流功能 | edit | sync | lock / unlock | add | delete | move | copy | integrate | submit | revert | 未知 | N/A |
| SVK | svk depotmap [或] svnadmin create) | mirror | pull | push | copy | checkout | update | 未知 | add | rm | mv | cp | merge | commit | revert | N/A | smerge -I |
| Subversion | svnadmin create | svnadmin hotcopy | [变通：]svnadmin load | [变通：]svnadmin dump | N/A | checkout / co | update / up | lock | add | delete / del / remove / rm | move / mv / rename / ren | copy / cp | merge | commit / ci | revert | N/A | N/A |
| Surround SCM（英语：） | mkmainline | N/A | N/A | N/A | mkbranch | checkout | get | checkout | add | rm | move | N/A | merge | checkin | voidcheckout | N/A | rebase |
| Veracity（英语：） | repo init | clone | pull | push | branch | checkout | pull -u | lock | add | rm | mv | N/A | merge | commit | revert | N/A | N/A |
| Vesta（英语：） | vcreate | vrepl | vrepl | vrepl | N/A | vcheckout | vadvance | vcheckout | [……然后] vcheckin | vrm | mv [然后] vcheckin | cp [然后] vcheckin | vdiff | vcheckin | vcheckin -c 0 | vmake [或] vesta | vadvance |
| Visual SourceSafe | ？ | 未知 | 未知 | 未知 | N/A | Get Latest | Get Latest | Check Out | Add Files | Delete | ？ | 未知 | ？ | Check In | Undo Check Out | 未知 | 未知 |
| 软件 | 库初始化 | 克隆 | 拉 | 推 | 本地分支 | 检出 | 更新 | 锁定 | 添加 | 移除 | 移动 | 拷贝 | 合并 | 提交 | 恢复 | 生成打包文件 | 重定位 |