360° Git training
The 360° Git training course aims to empower trainees to:
- get started with Git and its work environment;
- master all the concepts that underpin Git commands and its general behavior;
- boost their productivity and remove any artifical constraints and limitations they impose on their workflow by best leveraging Git’s capacities;
- collaborate better with their project teammates by mastering branch management, merges and history grooming and crafting;
- handle emergencies gracefully even when the repository is in an ongoing-work, inconsistent, unstable state;
- facilitate team guidelines for code style and organization;
- automate processing for code management and other Git-related tasks;
- efficiently share code across projects whilst keeping a centralized or distributed maintenance easy enough.
This extensive format lets trainees crystallize their fresh Git skills for in-depth assimilation, whilst solidifying their understanding of the many commands and various scenarios explored by the course. It really is a great approach.
Preparing your work environment
- Global vs. local settings
- Aliases and must-have shortuts
- Enabling auto-completion
- Useful state info in your command-line prompt
The concepts of versioning with Git
- “Zones:” working directory/tree, index/stage, repository
- “States:” untracked, modified, staged, unmodified
- Dive into the
My first repo
- Initializing the repo
- Root commit
- Global and local exclusion files (
- Knowing what’s in each zone / state by efficiently using
- The all-important concept of
- Revision syntaxes: from basic to advanced, always useful
- Optimizing log browsing: hidden gems of
Atomic commits and surgical approach
- Partial staging (only specific files or even file parts)
- Cancelling the latest commit
- Editing the latest commit
- Frequent, handy shortcuts
Managing emergencies with the stash
- Shifting the current work aside to tackle an emergency task
- Getting your stash back (multiple ways)
- Working around Git’s conservatism during merges
Getting a “lost” commit back
- The reflog
- How the reflog is kept or trimmed
- What is a branch exactly, with Git? Contrasting with traditional systems (e.g. SVN)
- Traditional merging
- Merge strategies and automatic resolutions
- A methodology for solving conflicts
- Merging vs. rebasing: when, why, for what situations?
- Typical rebasing scenarios
- Branch management strategies and collaborative workflows
Git reset, Git’s poorly-known Swiss-army knife
- What is a reset?
- The 5 reset modes
- Typical scenarios where
resetsaves the day
- Undoable vs. definitive resets
Grooming your log history
- A spotless history: what’s the point?
- Reordering commits
- Removing commits
- Splitting commits
- Merging commits
- Cancelling an older commit
Remote repositories (“remotes”)
- As many remotes as you want…
- Git’s protocols for remotes: preferences by context
- Understanding the interrelations between
- Tracking or not?
- Remote branches vs. local branches
- Honing best practices and reflexes so
Getting just the commits you want from the log
- Quickly listing relevant commits and branches
Automatically tracking a bug’s origin
- Binary search principle
- Manually running
- Scripting and automating
Recording and replaying manual conflict resolutions
- Recording a conflict resolution
- Replaying the resolution, automatically or manually
- Applied workflow: avoiding both control merges and rebasing on long-lived branches
Understanding and mastering submodules
- Contrasting with
- The numerous pitfalls
Understanding and mastering subtrees
- Principles and contrasting with submodules
- Subtrees vs. submodules: what to choose for what use-cases?
Event-driven automated processsing
- Client-side vs. server-side hooks
- Typical use-cases
- A few concrete examples
- 14—18 June 2021 100% remote
Request a training contract 14—18 June 2021 100% remote
(Unless otherwise stated, every session has 4+ seats still available, and is in French; you can naturally book custom dates for your company using the link further below.)
|You register||Per trainee|
|1 to 2 trainees||€1,500 net|
|3 to 5 trainees||€1,350 net|
|6+ trainees||€1,200 net|
|Loyalty discount||€1,275 net|
Need an in-house / custom training?
For a bespoke training, tailored to your needs, either at your office, in ours or remotely, please describe your context and needs using the following link.
Usually, the core training cost for doing this training in-house, which is a flat fee for up to 10 trainees, is €5,000 net in trimmed-down 14-hr format and €7,500 net in regular 21-hr format. For international sessions with fewer trainees, we can trim that down: talk to us!Request my in-house / custom training
Intended audience and pre-requisites
The 360° Git training course targets anyone working on source control repositories.
It is perfect both for existing Git users who want to level up their understanding of the tool and its commands (such as those that feel, like most Git users, that they're under-using / abusing it and essentially do “SVN with Git”) and people looking to switch to Git in the best possible conditions.
The course addresses the frustrations of anyone who feels they’re missing out on Git’s powerful capacities, that are likely to boost their daily work.
Prior knowledge of at least one widespread source control system (such as Suversion, Perforce, ClearCase, TFS, Mercurial or Bazaar) is still useful, as it brings familiarity with many basic concepts such as revisions/versions/commits, main branch vs. ancilliary branches, tags, etc. It is, however, by no means a pre-requisite.
Unless otherwise specified, predefined-dates, multi-client sessions are held in French, so attendees should be reasonably fluent. You are naturally welcome to book custom dates for your company using the link above.
When the training starts, trainees receive all the related slides and supporting material in a web-based format, so they can easily follow along.
Once the training is done, they also get an extremely content-rich debrief e-mail, a reference archive with all finalized codebases (fully annotated and tested), all related slides and various complementary resources.
- Sessions run 7hr a day, or 4hr12 a half-day, adding up to 14hr, 21hr or 28hr.
- Full days run from 9:30 to 12:30 and 14:00 to 18:00, half-days run from 13:48 to 18:00.
- (For or U.S. friends, that's 9:30a-12:30p / 2p-6p and 1:38p-6p Paris time, respectively.)
- For custom dates booked specifically by your company, the schedule can be adjusted to better suit your needs. In particular, we can use half-days locked on reasonable hours in your timezone, e.g. 9a-12:30p EST or 8a-11:30a PST.
- Every trainee uses their own laptop or workstation.
- Training sessions range from 3 to 10 trainees.
Our main venue, for multi-client trainings (click to zoom):
Christophe has been doing professional web work since 1995. He co-created Europe’s first production JSP portal in 1999, moving to J2EE before going with Ruby, Rails and finally Node.js.
A best-selling author of“Bien développer pour le Web 2.0” (“Best practices for modern web development”) at Eyrolles, he also wrote the reference book “Prototype and script.aculo.us” at Pragmatic Programmers, articles in various online magazines (most notably the widely-acclaimed A List Apart), and speaks at a number of conferences big and small.
Christophe is the founder and CTO of Delicious Insights.
With a Masters of Computer Science scored in 2006, Maxime slogged for 5 years through the marshes of Java/Subversion in the FinTech consulting sector…
After a year in Australia in 2009, he turned to much more palatable techs: Ruby, Rails and Git. He started working with Christophe in 2010, joining his R&D engineering team to design and implement an e-commerce solution.
He succeeded Christophe as CTO there in 2012, to join him again 3 years later at DI.
Maxime is an R&D engineer at Delicious Insights.
The trainer has great teaching skills and knows how to infuse his sessions with passion and rhythm.
The main asset of this training is the sheer amount of real-world use cases and best-practice solutions it covers that are immediately relevant to our daily use of Git. I was also fortunate to attend a class taught by Maxime Bréhin, who’s an amazing teacher.
This training course is clearly taught by people who know their stuff. Attendees’ questions and concerns throughout the class are carefully listened to and addressed, not just superficially, but by digging into the rationale that underlie the solution.
Every possible measure has been taken for trainees to be in the best possible learning setting.
Thanks to 360° Git, I did an interactive rebase on my Git skills!
An intense (in the best possible way), well-crafted training course, that I’ve started recommending to programmers I know 😊
A content-heavy training course, that remains however accessible to people with very little grounding in source code version control. The team is friendly and attentive, making us feel very welcome, and the trainer is an outstanding speaker.
Yet again an amazing time with Christophe for a high-quality, best-of-class training course, in a nice setting, with good vibes all around. A must-have!
A trainer with exceptional subject proficiency.
A pleasant, accessible training. I expected a clear, focused explanation of all concepts Git, and you carried it off! Thanks, Christophe.
The trainer clearly masters the topic. Great pace. Most satisfying.
The trainer has excellent technical skills.
Before this training happened I kept hearing that Git is overly complex and hard to work with. So I sat down on that first day with a knot of dread in my chest due to my colleagues’ prior nagging.
Yet right from the get-go, I started relaxing and thinking to myself: “hey, wait a second, this isn’t complicated—this actually makes a lot of sense.”
By the end of the class I felt much more confident in my Git understanding and know-how, and was thoroughly convinced it was the right choice for our source control needs. So thank you for having laid that bridge over our fear of the unknown, and made us confident enough to leverage the full power of Git.
Very well-designed content. I tremendously enjoyed these 3 days of training with Maxime and Christophe. The 360° Git training is a considerable asset to gaining a deep understanding of Git, suitable for beginners and advanced users alike. Not only do I know now where to look, I also understand what I see.