Git |
Subversion |
Mercurial |
git add <file> |
svn add <file> (only if the file is not tracked yet) |
hg add <new_file> (only if the file is not tracked yet) |
git blame <file> |
svn blame <file> |
hg blame <file> |
git show <rev>:<file> |
svn cat -r <rev> <file> |
hg cat -r <rev> <file> |
git clone <URL> <target_name> |
svn checkout <URL> <target_name> |
hg clone <URL> <target_name> |
git commit -a |
svn commit |
hg commit |
git rm <file> |
svn delete <file> |
hg rm <file> |
git diff <file> |
svn diff <file> |
hg diff <file> |
git show HEAD:<directory> |
svn list <directory> |
hg cat -r rev <directory> |
git merge |
svn merge |
hg merge |
git checkout <file or directory> |
svn revert <file or directory> |
hg revert <file or directory> |
git checkout HEAD |
svn switch <url> or svn revert <file> |
hg update tip |
git checkout <branch> |
svn switch <url> |
hg update <branch> |
git status |
svn status |
hg status |
git pull |
svn update |
hg pull -u |
git init |
svnadmin create |
hg init . |
git fetch |
svn update |
hg pull |
git reset –hard |
svn checkout -r <revision> url://path/to/repo |
hg revert -a –no-backup |
git stash |
No equivalent, may be released in SVN 1.10?, possibly in 2017 |
hg shelve |
git revert <commit_hash|tag|branch_name> |
svn merge -r UPREV:LOWREV . undo range |
hg backout <changeset_num|changeset_hash|tag> |
|
svn merge -c -REV . undo single revision |