Day 13: Advanced Git Operations 🚀
Hello DevOps enthusiasts! 👋 Welcome to Day 13 of the #90DaysOfDevOps challenge. Today, we're exploring advanced Git operations.
Task Solutions 💻
Task 1: Feature Development with Branches
1. Create Branch and Add Feature
# Create and switch to new branch
git checkout -b dev
# Add initial content
echo "This is the first feature of our application" > Devops/Git/version01.txt
git add .
git commit -m "Added new feature"
# Push to GitHub
git push origin dev
2. Add Multiple Features
# Feature 2
echo "This is the bug fix in development branch" >> Devops/Git/version01.txt
git commit -am "Added feature2 in development branch"
# Feature 3
echo "This is gadbad code" >> Devops/Git/version01.txt
git commit -am "Added feature3 in development branch"
# Feature 4
echo "This feature will gadbad everything from now" >> Devops/Git/version01.txt
git commit -am "Added feature4 in development branch"
3. Revert Changes
# Revert to previous state
git revert HEAD~2
Task 2: Branch Operations
1. Create Multiple Branches
# Create branches
git branch feature1
git branch feature2
2. Merge Changes
# Switch to main and merge
git checkout main
git merge dev
3. Rebase Example
# Rebase feature branch
git checkout feature1
git rebase main
Common Git Operations 🔧
Reset vs Revert
# Reset (changes history)
git reset --hard HEAD~1
# Revert (creates new commit)
git revert HEAD
Merge vs Rebase
# Merge (creates merge commit)
git checkout main
git merge feature
# Rebase (linear history)
git checkout feature
git rebase main
Key Takeaways 💡
- Branches enable parallel development
- Revert safely undoes changes
- Reset modifies history
- Merge preserves complete history
- Rebase creates linear history
- Choose right operation for situation
Git #DevOps #GitHub #BranchingStrategy #90DaysOfDevOps
This is Day 13 of my #90DaysOfDevOps journey. Keep branching and merging!