360° Git training

This course is taught 100% remote

Last updated on October 25, 2021, 11:28pm

The 360° Git training course lets anyone—whether you’ve used Git already or not, or even another source control system—gain in-depth understanding of the concepts and core behaviors underpinning Git, then quickly tame and master its commands both basic and advanced, to achieve a great workflow rich with best practices in order to boot your daily productivity and your team’s efficiency!

  • Advanced concepts
  • Numerous exercises
  • Concrete, real-world examples
  • Rich teaching material
  • Setup / configuration guide
  • Adaptable to your needs and context

Goals

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.

Intended audience

The 360° Git training course targets anyone working on source control repositories. This is mostly developers, but may also include product owners, documentation writers, QA engineers, etc.

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.

Not sure you’re a good fit?

Let’s check together (FR)

Pre-requisites

There is no pre-requisite for this training course (as in, verifiably acquired knowledge, through degrees, certifications, tests, etc.).

Curriculum

  1. Preparing your work environment

    • Global vs. local settings
    • Aliases and must-have shortuts
    • Enabling auto-completion
    • Useful state info in your command-line prompt
  2. The concepts of versioning with Git

    • “Zones:” working directory/tree, index/stage, repository
    • “States:” untracked, modified, staged, unmodified
    • Dive into the .git folder
  3. My first repo

    • Initializing the repo
    • Root commit
    • Global and local exclusion files (.gitignore, .git/info/exclude…)
    • Knowing what’s in each zone / state by efficiently using git diff
    • The all-important concept of HEAD
    • Revision syntaxes: from basic to advanced, always useful
    • Optimizing log browsing: hidden gems of git log
  4. Atomic commits and surgical approach

    • Partial staging (only specific files or even file parts)
    • Unstaging
    • Cancelling the latest commit
    • Editing the latest commit
    • Frequent, handy shortcuts
  5. 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
  6. Getting a “lost” commit back

    • The reflog
    • How the reflog is kept or trimmed
  7. Branch management

    • What is a branch exactly, with Git? Contrasting with traditional systems (e.g. SVN)
    • Traditional merging
    • Fast-forwards
    • 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
  8. Git reset, Git’s poorly-known Swiss-army knife

    • What is a reset?
    • The 5 reset modes
    • Typical scenarios where reset saves the day
    • Undoable vs. definitive resets
  9. Grooming your log history

    • A spotless history: what’s the point?
    • Reordering commits
    • Removing commits
    • Splitting commits
    • Merging commits
    • Cancelling an older commit
  10. Remote repositories (“remotes”)

    • As many remotes as you want…
    • Git’s protocols for remotes: preferences by context
    • Understanding the interrelations between fetch, merge, rebase, pull and push
    • Tracking or not?
    • Remote branches vs. local branches
    • Honing best practices and reflexes so push and pull work great
  11. Getting just the commits you want from the log

    • Cherry-picking
    • Quickly listing relevant commits and branches
  12. Automatically tracking a bug’s origin

    • Binary search principle
    • Manually running git bisect
    • Scripting and automating git bisect
  13. Recording and replaying manual conflict resolutions

    • Configuring rerere
    • Recording a conflict resolution
    • Replaying the resolution, automatically or manually
    • Applied workflow: avoiding both control merges and rebasing on long-lived branches
  14. Understanding and mastering submodules

    • Fundamentals
    • Contrasting with svn:externals
    • Setup
    • Deployment
    • Updates
    • The numerous pitfalls
  15. Understanding and mastering subtrees

    • Principles and contrasting with submodules
    • Setup
    • Deployment
    • Updates
    • Subtrees vs. submodules: what to choose for what use-cases?
  16. Event-driven automated processsing

    • Hooks
    • Client-side vs. server-side hooks
    • Typical use-cases
    • A few concrete examples

Un p'tit document ?

Imprimer ou télécharger en PDF le programme et les infos

Logistics

  • Every session is held synchronously, “live,” including remote sessions. This is not about pre-recorded videos.
  • We are currently not scheduling new multi-client in-room sessions before, at the earliest, April 1st, 2022.
  • Comprehensive course material is provided, acting as a common thread. It usually includes numerous slides and starter codebases or repositories for every exercise and lab.
  • Trainees can ask questions at any time.
  • Sessions always alternate between theory and hands-on labs, in short intervals (5 minutes to 1 hour).
  • Hands-on periods rely on real-world use-cases (which can be bootstrapped through starter codebases, Git repositories or online assignment labs).
  • Hands-on periods may be completed individually or as sub-groups that may vary from one period to the next, to foster pair programming and collaboration.
  • Remote sessions use a Zoom recurring meeting, accessible through a provided link using both the installed app and the pure-web, no-install client. They mostly use features such as video thumbnails, screensharing, chat, breakout rooms and possibly quizzes, annotations and whiteboards.
  • Sessions span 5 consecutive afternoons, adding up to 21 hours of class.
  • The schedule typically runs from 13:48 to 18:00.
  • Training sessions range from 3 to 10 trainees.

Deliverables & assessments

  • Every session half-day requires attendance signing (paper sheet or digital tool). For remote sessions, should a trainee fail to submit their entire attendance sheet in due time, Zoom participant logs will be considered authoritative.
  • At the beginning of every day's first period, we run a “debrief”: during about half an hour, we help collectively resurface skills and knowledge first tackled on the previous day. This helps put everyone back “in the zone,”, consolidate learning and boost group dynamics.
  • Throughout the course, assessment of skill acquisition is done through the successful completion of hands-on labs (exercises, mini-projects, labs, use cases, etc.). Interactive quizzes may supplement this. The trainer remains available for any question during hands-on periods.
  • Should a trainee exhibit significant difficulty, the trainer may opt to provide one-to-one mentoring for a while using the trainee's computer as a working base. This also applies to remote sessions using Zoom's dedicated features (e.g. one-to-one / individual assistance).
  • When the session ends, every trainee may request a completion certificate (or at least attendance certificate) and, for remote sessions financed by a French institutional entity, we issue a standardized completion certificate in order for financing to be able to proceed smoothly.
  • Once the training is over, every trainee receives a link to an online “hot” feedback survey, so they can express, among other things, whether they feel they achieved the stated goals of the training (or believe these will be achieved in the short term).

During the session, trainees receive at the start of every period access to:

  • all the related slides and supporting material in a web-based format, so they can easily follow along,
  • starter repositories for hands-on exercises.

Once the training is done, they also get:

  • an extremely content-rich debrief e-mail,
  • a reference archive with all related slides, starter repositories for all exercises with their detailed solutions, and various complementary resources.

Acquired skills are assessed throughout the session, looking at the success rate of interactive exercices (both autonomous and collaborative variants) in example repositories.

Trainers

Christophe Porteneuve

Christophe Porteneuve

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.

In France, Christophe enjoys a solid reputation of expertise in the areas of front-end web dev (most notably JavaScript), Node.js, Git and Rails.

Christophe is the founder and CTO of Delicious Insights.

Maxime Bréhin

Maxime Bréhin

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.

Next sessions

(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.)

Pricing

You registerPer trainee
1 to 2 trainees€1,500 net
3 to 5 trainees€1,350 net
6+ trainees€1,200 net

(Any ongoing discount or special offer is not reflected here, but will be automatically applied in the registration form.)

Need an in-house / custom training?

For a bespoke training, tailored to your needs, either at your office, some other place 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

Hardware & software requirements

  • Use a computer of sufficient performance (and provide it for single-client, in-room sessions, so ideally a laptop)
  • Remote sessions: this computer must feature a webcam, mic and audio output.
  • Remote sessions: use an internet connection with sufficient bandwidth (1Mbps+, ideally 5Mbps+), both incoming and outgoing.
  • Remote sessions: be able to run Zoom, either as a desktop install or as the pure-web client. You can test the installed software's configuration here.

Registration & deadlines

Regardless of the modalities you're looking for (single- or multi-client, in-room or remote), your initial request (for quotation or contract) should be made online from the training’s web page. You can find further up contract request links for every available multi-client session, a proposal request button for a single-client session, and for any other enquiry can use the contact button further below. Please favor our online forms as they speed up processing by avoiding numerous e-mail back-and-forths in order for us to get all your necessary information.

For multi-client, fixed-date sessions, we reply to quotation or contract requests within at most 2 business days (and usually within minutes). For single-client, custom sessions, we usually get back to you within 3 business days to fine-tune your requirements and create a bespoke offer.

The e-mails we send to provide quotations or contracts, as well as our online training pages, provide a link to an online survey prospective trainees can use for fit-for-needs assessment; this information should get to us ASAP, ideally before contract signing, so we can verify our training offer is a good match for the audience.

Summons are sent by e-mail no later than 7 days prior to the session, at which time a potential cancellation decision (usually because two few trainees registered) is made. If the session is guaranteed ahead of that deadline, we can send your summons earlier at your request.

For multi-client sessions, you can register online (requesting a contract and sending it back signed by e-mail) until the day before the session starts, provided the required amount of seats remain free. If you finalize your registration after the usual summons-sending deadline, your summons are sent immediately by e-mail.

However, when French nationals contractualize with us in their personal capacity, French law mandates a withdrawal period (10 calendar days for in-room sessions, 14 calendar days for online sessions). In order to allow such clients to register later than this, they are provided an opt-in choice in their contract request online form to waive their withdrawal rights if the schedule requires it.

For French client entities applying for third-party financing (e.g. OPCOs, Pôle Emploi, Regions, EU), it is imperative that financing agreements be sent to Delicious Insights no later than the last day of the training session. Should financing be denied or only partially provisioned, the client is liable for payment of the balance of the fee.

You can find more information on the details of registration, cancelling and getting refunds in our Terms of Sale.

Ratings

  • 839 trainees
  • 327 ratings
  • 87% trainee satisfaction en Teaching skills
  • 98% trainee satisfaction en Expertise
  • 84% trainee satisfaction en Logistics

Pôle Emploi sees a “correct” return-to-employment rate after that training course.

Disabilities & special needs

The French law dated September 5, 2018 for “freedom to choose one’s professional future” aims to facilitate accessing and retaining a job for people with disabilities or special needs.

Delicious Insights is very keen to help everyone, regardless of their particulars, move forward professionally.

We can often adapt the modalities of our trainings to fit your needs: let's just review your situation together.

Do feel free to get in touch with our point person for Disabilities, Christophe Porteneuve, by e-mail or phone.

Do feel free to get in touch with our point person for Disabilities, Christophe Porteneuve, by e-mail at handicap@delicious-insights.com or phone at +33 662 059 656.

A question, a concern?

Don’t fret, we’re sure to have answers to help put your mind at ease and get a clearer picture. So let’s talk!

Get in touch

Get in touch by e-mail at contact@delicious-insights.com or call us at +33 662 059 656.

Testimonials

  • 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.

    Samuel Marchand Sage
  • 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 😊

    Rémi Gérard-Marchant
  • 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.

    Alexandre Noury
  • 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.

    Arnaud Lemaire
  • A pleasant, accessible training. I expected a clear, focused explanation of all concepts Git, and you carried it off! Thanks, Christophe.

    Frédéric Madrolle
  • The trainer clearly masters the topic. Great pace. Most satisfying.

    Julien
  • The trainer has excellent technical skills.

    Damien Bendejacq
  • 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.