Warning: This is only a memo, don't use this table if you don't know what these commands will do. These SCM don't have the same philosophy and don't behave the same way, these equivalences are approximations.
There is a detailed page for git.
Common tasks:
Task | GIT | SVN | CVS |
---|---|---|---|
Get Repository | git clone <url> [<rep-name>] | svn checkout <url> [<rep-name>] | cvs -d <rep-name> checkout [-d <dest-dir>] <sub-dir|.> |
Update | git pull | svn up | cvs update [-d] |
Commit | git commit -a; git push | svn commit | cvs commit |
Add files | git add <file> | svn add <file> | cvs add <file> |
Diff | git diff [a7a57d0390 b7d15a91c7] | svn diff [-r r4042:r4043] | less | cvs diff [-r 1.42 -r 1.43] | less |
Log | git log | svn log | less | cvs log | less |
Status | git status | svn status | cvs -q status | grep '^[?F]' | grep -v 'to-date' |
Revert file | git checkout <file> | svn revert <file> | cvs update -C <file> |
Mark conflict solved | git add <file> | svn resolved <file> |
Less common tasks:
Task | GIT | SVN | CVS |
---|---|---|---|
Commit some files | git add <files>; git commit; git push <br/> git commit -o <files>; git push | svn commit <files> | cvs commit <files> |
Diff -w | git diff -w | svn diff -x -w | less | cvs diff -w | less |
Remove file from index | svn rm –keep-local <file> |