Git vs. SVN - Basic Commandline Syntax Reference
Join the DZone community and get the full member experience.Join For Free
Learning the git workflow takes a bit of brain retraining, but since I've been using SVN almost entirely via commandline (because Subversive sucks and locks up my Eclipse when I try to use it for anything beyond synching/updating/committing a handful of files), adopting git's commandline syntax is reasonably similar. Consider these simple operations:
|Initial checkout from existing repo for a given branch||git clone http://github.com/sonatype/sonatype-tycho.git; cd sonatype-tycho; git checkout origin/tycho-0.10.x||svn checkout http://anonsvn.jboss.org/repos/jbosstools/branches/jbosstools-3.2.0.Beta1/|
|Update locally checked out files from central repo||git pull||svn update|
|List locally changes files/folders||git status||svn stat|
|Diff locally changed file||git diff somefile.txt||svn diff somefile.txt|
|Revert locally changed file*||git checkout somefile.txt||svn revert somefile.txt|
|Revert ALL local changes (except untracked files)*||git reset --hard HEAD||svn revert . -R|
|Add new file||git add file.txt||svn add file.txt|
|Add new folder recursively||git add folder||svn add folder|
|Delete file||git rm file.txt||svn rm file.txt|
|Delete folder||git rm -r folder (non-recursive by default; use -r to recurse)||svn rm folder (recursive by default; use -N to not recurse)|
|Commit changed file to central repo||git commit -m "message" file.txt; git push||svn ci -m "message" file.txt|
|Ignore files/folders (in the current folder)||echo "target|
bin" > .gitignore; \
git ci -m "gitignore" .gitignore
|svn propset svn:ignore "target|
bin" .; \
svn ci -N -m "svn:ignore" .
Obviously you can do a lot more w/ Git than with SVN (like stashing local changes temporarily), but for the sake of simply moving from a VCS to a DVCS and being able to continue to work the same way you already do, the above table should provide a good introduction.
Published at DZone with permission of Nick Boldt, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.