An introduction to the Git version control system designed for Singapore Polytechnic's DIT SEP module.
This guide aims to provide developers with a broad understanding of the Git version control system and a common Git workflow. It does not go into depth with a wide variety of more complex Git commands. Those can be picked up once you have developed an intuition for Git.
Git is a vast topic and it will be impossible to cover the entirity of the Git tooling in a single session. Additional resources have been added below for your reference. You are encouraged to explore beyond what is taught to better understand the tool.
While this guide was written with the students of DIT in mind, it is applicable to all other developers who are new and wish to learn more about Git beyond just memorising a set of commands to type.
To get the most out of this guide, it is recommended that you give chapters one to five a thorough read. Each chapter tackles a different aspect of Git and relies on knowledge of prior chapters to accelerate your learning. Chapter six to eight are optional when starting out but they cover slightly more advanced topics in Git that may come in handy in the future.
However, as with anything relating to programming, the best learning is always independent learning. So as much as each chapter provides basic exercises for you to follow along, you will benefit the most from playing around with each chapter and trying out different variations of commands to gain a firm grasp of what they do.
- Setup
- First repository
- First commit
- Collaborating with others
- Merge conflicts
- (Optional) Branching - WIP
- (Optional) Advanced topics - WIP
- (Optional) Basic bash commands
- 26 June 2020 - First release of guide, chapters six and seven are not completed yet
- 07 July 2020 - Work started on first advanced chapter - 07-01:
git log
. Credits to @chuanhao01 for working on this! - 14 July 2020 - First advanced chapter (
git log
) added! Thanks to @chuanhao01 for helping! - 01 August 2020 - Added the first draft of the site using Gatsby.js!