1-Month DevOps Learning Plan: Git, GitHub & Azure Repos
Goal: Build a solid foundation in Git, GitHub, and Azure Repos for DevOps
workflows.
Week 1: Git Fundamentals
Day 1: Introduction to Git and Version Control Systems
- Understand what Version Control is and why it’s essential in software
development.
- Track and manage changes in code.
- Collaborate with multiple developers without overwriting each other’s work.
- Enable rollback to previous versions for debugging or rollback.
- Learn the differences between:
- Centralized Version Control (e.g., SVN): single central server.
- Distributed Version Control (e.g., Git): every developer has a local copy of
the repo, enabling offline work.
- History of Git:
- Created by Linus Torvalds in 2005 for Linux kernel development.
- Key principles: speed, data integrity, and support for distributed, non-linear
workflows.
- Install Git on your system:
- Windows: https://git-scm.com/download/win
- Mac: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- Linux: sudo apt install git
- Configure Git globally with your username and email:
git config --global user.name "Your Name"
git config --global user.email "
[email protected]"
- Set default branch name to main:
git config --global init.defaultBranch main
- Verify installation and global settings:
git --version
git config --list
- Git directory structure:
- .git folder: stores all versioning info (objects, refs, config, HEAD).
- working directory: current files in your project.
- staging area (index): changes marked for the next commit.
- repository: committed snapshots stored permanently.
- Explore Git help system:
git help
git help config
git help init
- Initialize Git and basic commands:
mkdir my-first-repo
cd my-first-repo
git init
echo "Hello Git" > readme.txt
git status
git add readme.txt
git commit -m "Initial commit"
git log
git show
- Git diff and status:
echo "Second Line" >> readme.txt
git status
git diff
- Create a .gitignore file:
echo "*.log" > .gitignore
echo "temp/" >> .gitignore
- Git aliases for productivity:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
- Bonus:
- Setup a GitHub account and explore its UI.
- Create your first remote repository (do not initialize with README).
- Bookmark https://git-scm.com/docs as your Git reference.
- Watch a beginner Git tutorial (e.g., freeCodeCamp, Net Ninja).
- Read Chapter 1 of the Pro Git Book (https://git-scm.com/book/en/v2).
... [Week 1 Day 2–7, Week 2, Week 3, Week 4 would continue similarly]