Module 1: Version Control Basics
- What is Version Control?
- Why version control is required
- Centralized vs Distributed VCS
- Git vs SVN
Module 2: Introduction to Git
- What is Git?
- Git architecture
- Working Directory, Staging Area, Repository
- Local vs Remote repository
Module 3: Installing & Configuring Git
git --version
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
Module 4: Basic Git Commands
git init
git status
git add .
git commit -m "Initial commit"
git log
- Initialize repository
- Track changes
- Commit history
Module 5: Working with Files
git diff
git restore file.txt
git reset HEAD file.txt
- View file changes
- Undo changes
- Unstage files
Module 6: Branching Concepts
- What is a branch?
- Why branches are needed
- Main / Master branch
- Feature branches
git branch
git branch feature-login
git checkout feature-login
Module 7: Merging & Conflicts
git merge feature-login
- Fast-forward merge
- Three-way merge
- Merge conflicts
- Conflict resolution
Module 8: Introduction to GitHub
- What is GitHub?
- GitHub vs Git
- Public & private repositories
- GitHub account setup
Module 9: Connecting Git to GitHub
git remote add origin https://github.com/username/repo.git
git branch -M main
git push -u origin main
Module 10: Clone, Fetch & Pull
git clone https://github.com/username/repo.git
git fetch
git pull
- Clone remote repo
- Sync changes
Module 11: Pull Requests (PR)
- What is a Pull Request?
- PR workflow
- Code review
- Approve & merge PR
Module 12: GitHub Branching Strategy
- Main / Develop branches
- Feature branches
- Release branches
- Hotfix branches
Module 13: GitHub Issues & Projects
- Creating issues
- Bug tracking
- Task boards
- Milestones
Module 14: GitHub Actions (CI/CD)
Automate build & test pipelines.
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: mvn test
Module 15: GitHub Security & Best Practices
- SSH keys
- Personal Access Tokens
- Secrets management
- Protected branches
Module 16: GitHub with Jenkins
- Webhook integration
- Auto-trigger Jenkins jobs
- CI/CD pipeline flow
Module 17: Real-Time Project Workflow
- Developer creates feature branch
- Code pushed to GitHub
- Pull Request created
- CI pipeline triggered
- Merge to main branch
Module 18: Interview Questions & Real-Time Usage
- Git vs GitHub
- Difference between fetch & pull
- Merge vs rebase
- What is PR?
- How GitHub used in CI/CD?