Get taught directly by the experts and interact with peers in an engaging informal environment. These are intensive, deep dive training sessions designed for advanced IT professionals which incorporate expert-led presentations.
Git Two Day Workshop
Matthew McCullough will guide you from the basics through advanced usage of Git in two days of lecture, discussion, and many hands-on exercises. Since Git can be quite different than a centralized version control system, Matthew will map the terminology onto Git's more collaborative version control vocabulary and put each new term into practice with demos and comparisons.
Matthew McCullough
Matthew McCullough is an energetic 15 year veteran of enterprise software development, open source education, and co-founder of Ambient Ideas, LLC, a Denver consultancy. Matthew currently is a member of the JCP, reviewer for technology publishers, author of the Presentation Patterns & Anti-Patterns book, multi-year speaker on the No Fluff Just Stuff tour, presenter at dozens of international conferences, author of three of the 10 most popular DZone RefCardz (including Git) and President of the Denver Open Source Users Group.
Git has been a primary tool in Matthew's teaching and consulting practice for several years. Matthew's helped small shops to 5,000 person companies convert from proprietary version control systems over to Git, helping them maximize the benefits and minimize efforts. The resulting productivity and collaboration boosts from development teams have been nothing short of amazing.
Matthew resides in Denver with his beautiful wife and two young daughters, who are active in nearly every outdoor activity Colorado offers
Git - 2 days workshop
Git is a technology that is best learned through actual use, and at nearly every step of this class you will be typing commands and evaluating what Git is doing both on the surface and at a deep mechanical level. With the mechanics and day-to-day commands mastered, we will advance to discussing Git-facilitated workflow ideas along with practical time-tested tips that will get you on the road to success with this revolutionary source code control system.
This class will help developers on any platform:
- Understand how Git works and how to apply that to day to day development.
- Learn the 10 basic commands that will appear in every-day use of Git.
- Know how to "back out" mistakes using Git's incredible history and ability to revert almost any change.
- Leverage the collaboration features of Git for productivity boosts with colleagues.
- Discover how the offline capabilities of Git work "under the hood" and how to use those to work in more places with less reliance on connectivity.
Detailed Course Objectives
- Why a distributed version control system?
- How does Git differ from previous VCS systems?
Installing Git
- The 5 minute litmus test
- No systemic intrusions
- Day-to-day commands
- Three stage thinking
- Git under the hood: Hashes, DAGs and Treeish
- A code-and-commit workflow
Git Distributions
- Building from source
- Binary distributions
- Git on Windows
Remotes
- Multiple destinations for code
- Refspecs for addressing precisely
- Adding, removing, and renaming
- Why are they immutable?
Branching in Git
- Cheap branches
- Managing branches
- Merging code
- Rebasing: A better merge
Navigating the tree
- diff
- ls-tree
- show
Git Under the Hood
- Manipulating .gitconfig
- Alternative visual merge and diff tools
- Aliases
Workflows
- Offline sharing
- Pushing and pulling
- Commander, lieutenant and soldier
- Centralized
Tools
- GUIs and IDEs
- Web tools
- Git hosting
Git and Agile
- Cheap branches enable faster iterations
- Git's branching model facilitates pairing
- Point-to-point sharing removes network impediments
Branching Strategies
- Branch lifetimes: What code belongs where?
- Long lived branches
- Integration branches
- Short lived (topic) branches
- Naming conventions
- Merge and rebase techniques from the field
Git Two Day Workshop
When: On request
Where:In Stockholm, Sweden
Language: English
Format: Bring your own laptop
Is this course for you?
This class is intended for any developer wishing to explore the cutting edge of version control systems, learn about the aims of "distributed" version control, and be proficient in using Git to version control the source code of a product. The only prerequisite is a basic knowledge of a version control system, whether that be Subversion, CVS, Perforce, StarTeam, SourceSafe, ClearCase or any similar product.
Equipment:
Students will need to bring a notebook with one of the following: * Mac OSX 10.5 or 10.6 * Windows XP, Vista, or 7 * Ubuntu Linux 9.x, 10.x, or 11.x