Table A.1. Commands
Operation | Subversion | Mercurial | Git | Veracity |
---|---|---|---|---|
Create | svnadmin create | hg init | git init | vv init |
Checkout | svn checkout | [a] | [b] | vv checkout |
Commit | svn commit | hg commit | git commit[c] | vv commit |
Update | svn update | hg update | git checkout | vv update |
Add | svn add | hg add | git add[d] | vv add |
Edit | git add[e] | |||
Delete | svn delete | hg remove | git rm | vv remove |
Rename | svn move | hg rename | git mv | vv rename |
Move | svn move | hg rename | git mv | vv move |
Status | svn status | hg status | git status | vv status |
Diff | svn diff | hg diff | git diff | vv diff |
Revert | svn revert | hg revert | [f] | vv revert |
Log | svn log | hg log | git log | vv log |
Tag | svn copy[g] | hg tag[h] | git tag | vv tag[i] |
Branch | svn copy[j] | hg branch | git branch | vv branch |
Merge | svn merge | hg merge | git merge | vv merge |
Resolve | svn resolve | hg resolve | vv resolve | |
Lock | svn lock | [k] | [l] | vv lock[m] |
Clone | hg clone | git clone | vv clone | |
Push | hg push[n] | git push[o] | vv push[p] | |
Pull | hg pull[q] | git fetch[r] | vv pull[s] | |
[a] In Mercurial, the repository instance is stored inside working copy. [b] In Git, the repository instance is stored inside working copy. [c] Without -a, commits only those things which have been explicitly added to the git index. [d] git add is also used to notify Git of a modified file. [e] Or, automatic when using git commit -a. [f] git checkout can be used to revert the contents of a file. There is a git revert command but it is used to alter changesets that have already been committed. [g] Tag appears as a directory in the repository tree. Causes a commit. [h] Tags are stored in a version-controlled text file. Causes a commit. [i] Tags are stored in a database DAG. [j] Branch appears as a directory in the repository tree. Causes a commit. [k] Lock is unsupported by Mercurial. [l] Lock is unsupported by Git. [m] Requires network connection to the upstream repository instance. [n] Requires --new-branch when pushing a new branch. [o] By default, pushes only the branches which already exist on the other side. [p] By default, pushes all changesets in all DAGs. [q] Does not update the working copy without -u. [r] git pull is equivalent to pull followed by update. [s] Does not update the working copy without -u. |