Introduction to GIT

In the last several years, distributed version control has revolutionized the way we do development. Among the various DVCS offerings, Git is a popular, flexible and advanced open-source tool that increases team productivity as less time is spent on merge conflicts and branching becomes painless.

This course covers how to practically use Git, while also providing a solid foundation for how Git works under the hood. Abandon your CVS pushbike and board your new Git helicopter!

Prerequisites:

Developers with either no prior experience of version control, or users of traditional(c entralized) systems wanting to learn about distributed version control.

Course outline:

Whats version control?

  • Why do we want it?

A quick history

  • RCS, CVS, SVN
  • Centralized vs distributed
  • Merging: a solution that turned into a problem

Walkthrough exercise I

  • init, add, commit
  • status, log, diff
  • branch, checkout, (simple) merge

Understanding the DAG

  • blobs, trees, commits
  • gitk
  • SHA hashes

Going distributed

  • Adding remotes to your project
  • A pull is a fetch and a merge
  • A centralized location?
  • Hosted git

Walkthrough exercise II

  • remote, clone, push, pull
  • resolving conflicts
  • Rebasing

Other relevant courses

19. February
4 days
Classroom
27. February
3 days
Classroom
6. March
3 days
Classroom