Day 1: Understand Git's Model and Record Changes Transparently
5 topics, Tap to openTap to close
10:00–11:00Understand Distributed Version Control with Git
Version control connects stored project states with a traceable history. You compare a centralised model with Git's distributed architecture and examine the relationships between the working tree, repository, commits, and references. Using a prepared history, you inspect which information exists locally and what role a remote repository plays in collaboration.
11:00–12:00Configure Git and Repository Access
A Git working environment needs an installation, author identity, editor, and suitable access to the remote service. You configure Git on Windows, macOS, or Linux and compare HTTPS with a credential helper against SSH keys. In the lab, you inspect the configuration and a GitHub connection without placing credentials in the repository.
13:00–14:00Connect Working Tree, Index, and Commits
Git separates the current working tree, the preparatory index and stored commit history. You initialise a repository, change files and select content deliberately for a commit. The DevNinjas Dojo, our cloud learning environment, lets you compare these states and explain which changes are staged and which remain outside the next snapshot.
14:00–15:00Inspect Changes and Ignore Files
Status, differences, and history answer distinct questions about a change. You inspect these perspectives with git status, git diff, and git log, then create .gitignore rules for generated files and local editor configuration. The discussion also covers why ignore rules do not remove content already recorded and why secrets should never enter history.
15:00–16:00Visualise Git with VS Code
Graphical interfaces present the same Git states from a different perspective than the command line. You inspect commits, diffs, history, and blame information in VS Code with GitLens and compare the view with terminal output. The comparison helps you decide which presentation supports a particular review and where explicit Git commands provide greater clarity.

