Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git and Eclipse - Eclipse DemoCamp Walldorf - 2010-06-22

2,656 views

Published on

Presentation from Eclipse DemoCamp 2010 in Walldorf, Germany - "Git and Eclipse"

Published in: Technology, Sports
  • Be the first to comment

Git and Eclipse - Eclipse DemoCamp Walldorf - 2010-06-22

  1. 1.  Gitand Eclipse<br />http://eclipse.org/egit<br />+<br />=<br />Matthias Sohn (SAP)<br />matthias.sohn@sap.com<br />
  2. 2. Git at Eclipse<br />Git is a Distributed Version Control System <br />EGit is an Eclipse Team provider for Git<br />http://www.eclipse.org/egit/<br />JGit is a lightweight Java library implementing Git<br />http://www.eclipse.org/jgit/<br />The goal is to build an Eclipse community around Git. <br />EGit is still beta and we want to establish a feedback loop to improve the tooling.  <br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  3. 3. Gerrit Code Review<br />Gerrit is a Code Review system based on JGit<br />http://code.google.com/p/gerrit/<br />Also serves as a central git server <br />adding access control and workflow<br />Used by Android, JGit/Egit, …<br />  <br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  4. 4. 4<br />Git vs. CVS/SVN<br /><ul><li>Distributed
  5. 5. Eachuserhas full history
  6. 6. Ability to work off-line
  7. 7. Fast
  8. 8. Rebasepatcheseasily
  9. 9. Forks happen, deal withit
  10. 10. Powerful mergingallowstouse lots of branches
  11. 11. Centralized
  12. 12. --
  13. 13. --
  14. 14. Slow
  15. 15. Patches gostale
  16. 16. Forksarepainful
  17. 17. Mergingispainful</li></ul>Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  18. 18. History JGit/EGit<br />2005    LinusTorvalds starts Git<br />2006    Shawn Pearce starts JGit<br />2009    Eclipse decides on GitJGit/EGit move to eclipse.org SAP joins <br />3/2010 Released 0.7 (first release at Eclipse)              <br />            Diff/Merge Algorithms, Automatic IP Logs<br /> <br />6/2010 Released 0.8 (Helios)<br />            Usability Improvements, Git Repositories View, Tagging<br />9/2010 Planned 0.9 (Helios SR1)<br /> Merge, Synchronize View, .gitignore, Stashing, Staging<br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  19. 19. Git at Eclipse<br />EGit/JGit developed at http://egit.eclipse.org<br />http://git.eclipse.org/ hosts live Eclipse Git repos<br />Virgo, Mylyn Review, ScalaModules, SWTBot …<br />http://dev.eclipse.org/git/index.html git mirrors for CVS<br /> Read-only copies kept up-to-date<br /> Can clone with git:// or http://<br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  20. 20. No Free Lunch -- DEMO<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />The best way to learn Git is to use Git<br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  21. 21. Conclusion<br />DVCS like Git are powerful<br />Git supports convenient branching and merging <br /> <br />Git is very fast and scales well<br /> <br />Gerrit enables a nice code review workflow <br />Git is the future SCM of Eclipse<br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  22. 22. Resources<br />Ask questions on the EGit forum or egit-dev/jgit-dev lists<br />http://git-scm.com/documentation is your friend<br />If you want comedy, watch Linus' talk at Google<br />    http://www.youtube.com/watch?v=4XpnKHJAok8<br />Read the Pro Git book - http://progit.org/book/<br />Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn <br />
  23. 23. Features EGit 0.8<br />Supported<br />Partially supported<br />Not yet supported<br />* planned for 0.9<br /><ul><li>git init / git clone
  24. 24. git add
  25. 25. git status
  26. 26. git commit
  27. 27. git diff
  28. 28. git fetch
  29. 29. git log
  30. 30. git merge *
  31. 31. git rebase
  32. 32. git remote
  33. 33. git pull
  34. 34. git push
  35. 35. git stash *
  36. 36. git branch
  37. 37. git tag
  38. 38. git checkout
  39. 39. git config
  40. 40. git format-patch
  41. 41. git mv / git rm
  42. 42. git reset
  43. 43. .gitignore *
  44. 44. synchronizeview *</li></ul>10<br />

×