🎉 অভিনন্দন!
আপনি এই series-এর শেষ পর্বে পৌঁছেছেন! এখন পর্যন্ত আপনি Git basics, GitHub, branches, pull requests, merge conflicts — সবকিছু শিখেছেন। এই পর্বে আমরা advanced topics দ্রুত cover করব, এবং সবচেয়ে exciting জিনিস — আপনার portfolio website live publish করব GitHub Pages-এ!এই পর্ব series-এর সবচেয়ে বড় — কারণ একদিনে শিখার দরকার নেই। প্রতিটি section আলাদাভাবে পড়ুন, যখন প্রয়োজন তখন practice করুন।
🌟 Advanced Git Commands (Quick Tour)
নিচের প্রতিটি command beginner-এর জন্য immediately দরকার না, কিন্তু কাজ চালিয়ে যাবেন তখন অবশ্যই কাজে আসবে।
1. git stash — অসমাপ্ত কাজ সাময়িক রাখুন
📦 git stash
মাঝপথে কাজ করছেন, কিন্তু urgent কিছু অন্য branch-এ check করতে হবে — কিন্তু commit করার জন্য কাজ ready না। Stash আপনার uncommitted changes সাময়িকভাবে দূরে রাখে।
⏰ কখন দরকার: জরুরি bug fix-এর জন্য আপনার current কাজ rapidly সরিয়ে রাখতে।
2. git restore — File-এর change undo করুন
↩️ git restore
আপনি একটা file-এ change করেছেন, কিন্তু decide করলেন — "এই change চাই না।" Restore আপনাকে last commit-এর state-এ ফিরিয়ে আনবে।
⏰ কখন দরকার: Experiment করার পর "এটা bad idea ছিল" বুঝলে।
3. git reset — Commit Undo করুন
⏪ git reset
Last commit ভুল ছিল? Reset দিয়ে সেটা undo করুন।
⏰ কখন দরকার: Local-এ commit করার পর realize করলেন "এই commit message ভুল, এই code-ও ভুল"।
git revert use করুন।
4. git rebase — Commit History সাজান
📐 git rebase
Merge-এর alternative। Branch-এর commits-কে main-এর latest commit-এর উপর "rebuild" করে — cleaner linear history।
⏰ কখন দরকার: Long-running branch-এ — main থেকে latest changes pull করতে। Linear, clean history।
5. Squashing Commits — অনেক commit এক করুন
🤏 Squash commits
৫টি ছোট commit ("fix typo", "fix typo again", "actually fix it") কে ১টি cleaner commit-এ পরিণত করুন।
⏰ কখন দরকার: PR open করার আগে — clean history-র জন্য।
6. Cherry-Picking — নির্দিষ্ট Commit তুলে আনুন
🍒 git cherry-pick
একটি branch-এর শুধু একটি specific commit-কে অন্য branch-এ আনুন।
⏰ কখন দরকার: Feature branch-এর একটি bug fix urgent main-এ লাগবে — পুরো branch merge না করেও।
7. Tags এবং Releases — Version Mark করুন
🏷️ git tag
Project-এর একটি specific moment-কে "version 1.0" বা "v2.5.3" এমন label দিন।
⏰ কখন দরকার: Software-এর major version release করার সময়। GitHub-এ এটি Releases page-এ দেখাবে।
🌐 GitHub Pages — আপনার Portfolio Live করুন!
🎯 এটাই Series-এর Climax Moment
এই section-এ আপনার My Portfolio Website সারা পৃথিবীর জন্য live হবে — completely free, একটি real URL সহ। তৈরি হোন!GitHub Pages হলো GitHub-এর একটি free hosting service। আপনার repository-র static file (HTML, CSS, JS) সরাসরি একটি public website হিসেবে serve হয়।
আপনি যা পাবেন:
- 🌍 Free hosting — চিরকাল, no credit card
- 🌐 একটি real URL:
https://your-username.github.io/my-portfolio-website - 🔒 Free HTTPS (SSL certificate)
- ⚡ Fast global CDN
- 📊 Custom domain support (চাইলে আপনার নিজের domain লাগাতে পারবেন)
Step-by-Step: GitHub Pages Enable করুন
Repository Settings-এ যান
GitHub-এ আপনার my-portfolio-website repo-তে যান। উপরের menu-তে "Settings" click করুন।
Pages Section খুঁজুন
Left sidebar-এ scroll করে "Pages" click করুন।
Source Configure করুন
"Build and deployment" section-এ:
- Source: "Deploy from a branch" select
- Branch:
mainselect - Folder:
/ (root)select - Save button click
১-২ মিনিট অপেক্ষা করুন
GitHub আপনার site build করছে। Page refresh করুন। একটি সবুজ banner দেখবেন: "Your site is live at https://your-username.github.io/my-portfolio-website/"
URL Visit করুন!
সেই URL browser-এ open করুন।
🎉 আপনার portfolio website এখন live! সারা পৃথিবী visit করতে পারবে।
💡 Updates Auto-Deploy
এখন থেকে যখনই আপনি main branch-এ push করবেন — GitHub Pages automatically site rebuild করে নতুন version live করবে। ১-২ মিনিট লাগে।🤖 GitHub Actions — Automation Magic (Quick Intro)
GitHub Actions আপনার repo-তে automatic workflows run করে — যেমন:
- প্রতিবার commit-এ test automatic run
- Build code automatically
- Deploy to production
- Email alerts on failure
- Hello message-এ "thanks for contributing"
একটি workflow file (.github/workflows/build.yml) তৈরি করেন। GitHub সেটা read করে — যখনই trigger condition match করে, automatically execute করে।
💡 Beginner হিসেবে এখনি দরকার নেই
GitHub Actions-এ শুরু করার আগে — আগে normal Git workflow comfortable হোন। ৬ মাস Git ব্যবহার করার পর এটা explore করুন।🛡️ Branch Protection — Main কে রক্ষা করুন
Team project-এ main branch একটি sacred place। আপনি accidentally main-এ ভুল কিছু push করে fele দিতে চান না। Branch protection rules এটি prevent করে।
Common Protection Rules:
- ✅ Require pull request before merging (সরাসরি push disable)
- ✅ Require at least 1 approval review
- ✅ Require status checks to pass (CI tests)
- ✅ Require conversations to be resolved
- ✅ Restrict who can push
Setup: Repo → Settings → Branches → "Add rule"। Beginner-এর জন্য Public personal projects-এ দরকার নেই, কিন্তু team-এ যোগ দিলে এটা typical।
🌍 Open-Source Contribution — কীভাবে শুরু করবেন
Resume-এ একটি open-source contribution = বিশাল credibility। প্রথম contribution-এর সবচেয়ে সহজ পথ:
- "Good first issue" label সার্চ করুন: GitHub-এ search bar-এ
label:"good first issue" language:javascript is:open(বা আপনার পছন্দের language) - Repository explore করুন: README, CONTRIBUTING.md পড়ুন
- একটি ছোট issue-এ comment: "I'd like to work on this. Could you assign it to me?"
- Fork → clone → branch → কাজ → commit → push → PR
- Maintainer-এর feedback অনুযায়ী changes
- Merged হলে — celebrate!
Beginner-Friendly Repositories:
- firstcontributions/first-contributions — শেখার জন্য তৈরি
- EddieHub/BioDrop — Bio creation tool
- Documentation typo fix — যেকোনো popular project-এ
💼 Professional GitHub Profile কীভাবে বানাবেন?
আপনার GitHub profile = একটি live resume। Employer/Recruiter এখানে এসে আপনাকে judge করবেন। Make it count!
Profile README (Special Trick!)
GitHub-এ যদি আপনি আপনার username-এর সাথে একই নামে একটি repository তৈরি করেন (e.g., muhammad-rahman/muhammad-rahman), তাহলে সেটার README আপনার profile page-এর top-এ দেখাবে।
- একটি repo তৈরি করুন আপনার username নাম দিয়ে
- "Add a README" checkbox tick করুন
- README.md-এ আপনার bio, skills, contact links লিখুন
- Profile-এ গিয়ে দেখুন — beautiful introduction display হচ্ছে!
Sample Profile README:
✅ Beginner GitHub Portfolio Checklist
আপনার GitHub Profile-এ থাকা উচিত:
- Professional profile photo (clear, friendly, professional)
- Clear bio (১-২ লাইন — আপনি কে, কী করেন)
- Location বা career interest mentioned
- Pinned repositories (আপনার সেরা ৪-৬টি project)
- প্রতিটি pinned repo-তে quality README
- Clean, professional project names (no "test1", "asdfgh")
- No sensitive files (passwords, .env, API keys)
- Consistent commit history (regular activity)
- Portfolio website link (GitHub Pages URL)
- LinkedIn link
- Profile README (special trick — উপরে দেখুন)
📂 Beginner-দের কী Project Upload করা উচিত?
সবাই বলে "GitHub-এ project upload করুন!" — কিন্তু কী upload করব?
Tier 1: Personal Projects (Must-Have)
- 🌟 Portfolio Website — আপনার My Portfolio Website! (already done)
- 🧮 Simple Calculator — HTML/CSS/JS
- 📝 Todo App — JS practice
- 🌤️ Weather App — API integration learn
Tier 2: Learning Projects (Show Growth)
- 📊 Personal Finance Tracker
- 📰 Blog Engine
- 🎮 Simple Game — Tic-tac-toe, Snake
- 🔍 Search Engine clone (frontend only)
Tier 3: Real-World Projects (Stand Out)
- 🛒 E-commerce demo — full-stack
- 💬 Chat app — Socket.io / Firebase
- 🎓 Course-based project — University assignment refined
- 🤝 Open-source contribution — even small one
💡 Quality over Quantity
১০টি half-baked project-এর চেয়ে ৩টি well-built project অনেক বেশি impressive। প্রতিটি project-এ:- Quality README
- Clean code
- Live demo link (GitHub Pages-এ)
- Screenshots
- Tech stack documented
📅 Beginner থেকে Job-Ready: ৩০ দিনের Roadmap
Week 1: Git Basics
- Day 1-2: Series Posts 1-3 পড়ুন (concept + install)
- Day 3-4: Post 4 follow করে first project তৈরি
- Day 5-7: Daily Git workflow practice — প্রতিদিন কিছু commit
Week 2: GitHub Mastery
- Day 8-10: GitHub account, repository, push (Post 5)
- Day 11-14: Daily workflow muscle memory (Post 6)
Week 3: Team Skills
- Day 15-17: Branches and merge (Post 7)
- Day 18-20: Pull Requests (Post 8)
- Day 21: Practice merge conflicts (Post 9)
Week 4: Portfolio + Job-Ready
- Day 22-24: GitHub Pages live publish
- Day 25-27: Professional profile + README setup
- Day 28-30: ১টা open-source contribution try
🎤 Job Interview Questions (যা জিজ্ঞেস করা হয়)
Tech interview-এ Git/GitHub-এর সবচেয়ে common ১০টি question:
- Git কী? — Distributed version control system যা code history track করে।
- GitHub কী? — Web platform যা Git repository host করে এবং team collaboration enable করে।
- Commit কী? — Code-এর একটি snapshot history-তে saved।
- Branch কী? — Main code-এর parallel copy, independent development-এর জন্য।
- Merge কী? — দুই branch-এর work একসাথে combine করা।
- Pull request কী? — Branch-এর change main-এ merge করার formal review request।
- Merge conflict কী? — যখন Git auto-merge করতে পারে না — একই line-এ দুটি change।
- git pull কী করে? — Remote থেকে latest changes এনে local-এ merge করে।
- git push কী করে? — Local commits-কে remote repository-তে পাঠায়।
- কেন teams Git use করে? — Parallel work, history tracking, code review, backup, rollback capability।
🚀 Final Roadmap: এখান থেকে কোথায় যাবেন
Series শেষ — কিন্তু journey শুরু। Next steps:
Short-term (১-৩ মাস):
- প্রতিদিন কিছু commit করুন — habit form করুন
- আরও ৩-৫টা project GitHub-এ upload করুন
- Daily Git workflow muscle memory-তে আনুন
- Profile README তৈরি করুন
Medium-term (৩-৬ মাস):
- প্রথম open-source PR submit করুন
- Resume-এ GitHub link যোগ করুন
- LinkedIn-এ "Git/GitHub" skill list করুন
- Job applications শুরু করুন
Long-term (৬-১২ মাস):
- GitHub Actions, CI/CD learn করুন
- Bigger open-source project-এ regular contributor হোন
- Branch protection, code review master করুন
- Team-এ join করুন — real-world experience
📝 Final Practice Task — Portfolio Live করুন!
The Big One 🎯
আজই এই কাজগুলো করুন:- আপনার
my-portfolio-websiterepo-তে GitHub Pages enable করুন - আপনার live URL test করুন:
https://your-username.github.io/my-portfolio-website - Repository-র Description-এ live URL যোগ করুন
- আপনার username নাম দিয়ে একটি repo তৈরি করুন → Profile README setup
- ৩-৫ জন বন্ধুকে আপনার live URL share করুন!
অভিনন্দন! আপনি Series সম্পন্ন করেছেন!
আপনি এখন Git এবং GitHub-এ confident। একটি live portfolio আছে। একটি professional GitHub profile আছে। Job-এ apply করার জন্য আপনি ready।
এটাই শুধু শুরু — আপনার tech career-এর পথে! 🚀
📌 Series সংক্ষেপ — যা শিখেছেন
- ✅ Git এবং GitHub-এর পার্থক্য
- ✅ Version control concept
- ✅ Git install + setup (Windows/Mac/Linux)
- ✅ First project — init, add, commit, log
- ✅ GitHub repository upload + Personal Access Token
- ✅ Daily workflow — status, pull, add, commit, push
- ✅ Branch + Merge — team collaboration foundation
- ✅ Pull Request workflow — modern code review
- ✅ Merge conflict resolution
- ✅ Advanced: stash, rebase, restore, reset, cherry-pick, tags
- ✅ GitHub Pages — live portfolio publishing
- ✅ GitHub Actions, branch protection (intro)
- ✅ Open-source contribution path
- ✅ Professional GitHub profile
- ✅ Job interview readiness
🙏 ধন্যবাদ এবং Stay Connected
এই ১০ পর্বের journey আমার সাথে complete করার জন্য ধন্যবাদ। আশা করি এই series আপনার tech career-এর একটি foundational stepping stone হয়েছে।
আপনার learning journey সম্পর্কে শুনতে আগ্রহী। যেকোনো প্রশ্ন, feedback, বা success story share করতে চাইলে — সরাসরি email করুন!
🎉 Journey চালু রাখুন!
ShadhinPath-এ আরও tech career content, AI guides, freelancing tips সব পাবেন। Newsletter subscribe করে updates মিস করবেন না।
📬 Newsletter Subscribe 🚀 আরও Tech Career Content
📧 Question? Success story? hello@shadhinpath.com
🌐 shadhinpath.com
প্রতি সপ্তাহে নতুন বাংলা গাইড পেতে চান?
ShadhinPath Facebook page Follow করে রাখুন — Tech career, USA immigration, finance, study abroad — সব নতুন content প্রথমে এখানে আসে।
👍 Facebook-এ Follow করুন