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 *.class bin” > .gitignore; \ git ci -m “gitignore” .gitignore | svn propset svn:ignore “target *.class 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.
Reference: Git vs. SVN – Basic Commandline Syntax Reference from our JCG partner Nick Boldt at the DivByZero blog.
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy
Thank you!
We will contact you soon.
Tags
Git SVN Versioning
This site uses Akismet to reduce spam. Learn how your comment data is processed.