Version Control with Git
Objectives
- Daily work as developer (checkout/add/commit/diff/etc...)
- Setup branches and merge them together
- Be able to create a local Git repository
Audience
- Teams of software developers and programmers who need to work cooperatively on projects.
Course Format
- Duration of the course is typically 8 academic hours. Usually 1 full day or two half-days.
- The course includes approximately 40% hands-on lab work.
Prerequisites
- An understanding of the source code-management issues in team-based software development.
Syllabus
About Git
- The concepts of Git
- Basic concepts of Git
- Git Internals
- Copy-Modify-Merge vs Lock-Modify-Unlock
- Why use Git?
- Who uses Git?
The basics
- Installing Git on Windows, Linux and Mac
- Setting up your profile (configuring git)
- Creating a local repository
Daily use of Git
- status
- add (Adding files, directories to staging)
- rm (Removing files, directories)
- mv (Renaming files and directories)
- checkout
- commit (checking in changes)
- diff (Viewing changes)
- log (Viewing the log, Finding out what you, and others did)
- Making a change
Working with branches
- Branching
- Merging
- Conflict resolution
- Tagging
Working with a remote repository
- Cloning a remote repository
- pull
- push
- Peer networks
- Star networks
Other
- Ignoring generated and other unwanted files
- Using gitk to explore history
- Stashing files while doing something else
- Finding out who did what (browsing log messages)
- reset (Removing commits from the repository)
- revert (Examining and reverting changes)
- Binary files
- Getting snapshots (dates and tagging)
Let's talk
If you would like to bring this course to your organization, let's talk about it! You can reach me via email at gabor@szabgab.com or you can go ahead and schedule a chat: