এখন পর্যন্ত আমরা theory শিখেছি — আজ থেকে আসল মজা শুরু! এই পর্বে আপনি আপনার প্রথম Git project তৈরি করবেন: My Portfolio Website। এই project আমরা পুরো series-এ ধাপে ধাপে build করব।
আজকে আপনি শিখবেন Git-এর সবচেয়ে important ৫টি command — যেগুলো প্রতিদিন আপনি ব্যবহার করবেন।
🎯 এই পর্বের পর আপনি যা পারবেন
- একটি project folder তৈরি করতে পারবেন
git initদিয়ে Git tracking শুরু করতে পারবেনgit statusদিয়ে file-এর state দেখতে পারবেনgit addদিয়ে file stage করতে পারবেনgit commitদিয়ে snapshot save করতে পারবেনgit logদিয়ে history দেখতে পারবেন
🧠 প্রথমে একটি Concept বুঝুন: Git-এর ৩টি Area
Git বুঝতে গেলে এই ৩টি area-র concept clear থাকা must। আপনার file এই ৩টি জায়গায় থাকতে পারে:
1. Working Directory
আপনার folder — যেখানে আপনি edit করছেন। Git এখনও কিছু track করেনি।
2. Staging Area
"Ready to commit" — যে file গুলো আপনি commit করতে চান, সেগুলো এখানে রাখেন।
git add
3. Repository (Commits)
Permanent save। Git এখানে snapshot রাখে।
git commit
একটি সহজ analogy দিয়ে বুঝি:
মনে করুন আপনি একটি package post office-এ পাঠাচ্ছেন:
- Working Directory = আপনার বাসা। আপনি জিনিসপত্র এখানে রাখেন, পরিবর্তন করেন।
- Staging Area = আপনি যেগুলো পাঠাবেন, সেগুলো একটি বাক্সে রাখলেন। (বাক্সে রাখা মানে এখনও পাঠানো হয়নি — শুধু "ready to send" অবস্থায়।)
- Repository = আপনি বাক্সটি post করলেন। এখন সেটা permanently পাঠানো হয়ে গেছে।
Git-এ:
- আপনি file edit করেন → Working Directory-তে আছে
- আপনি
git addচালান → Staging Area-তে চলে গেল - আপনি
git commitচালান → Repository-তে permanently saved
চলুন এখন hands-on practice করি।
📁 Step 1: My Portfolio Website Folder তৈরি করুন
আপনার Terminal/Git Bash খুলুন। প্রথমে এমন একটি location-এ যান যেখানে আপনি project রাখতে চান (e.g., Desktop):
💡 কয়েকটি useful command
pwd— Print Working Directory (আপনি এখন কোথায় আছেন)cd folder-name— Change Directory (folder-এ যান)cd ..— এক স্তর উপরে যানls— List (এই folder-এ কী কী আছে)clear— Terminal clear করুন
এবার project folder তৈরি করুন:
mkdir = Make Directory (folder তৈরি করুন)। my-portfolio-website হলো folder-এর নাম।
📄 Step 2: প্রথম File তৈরি করুন
এখন একটি index.html file তৈরি করুন। দুটি উপায়:
উপায় ১: Text Editor দিয়ে (Recommended)
VS Code, Sublime Text, Notepad++ — যে কোনো text editor খুলে নতুন file তৈরি করুন। নিচের content paste করুন এবং my-portfolio-website folder-এ index.html নামে save করুন:
উপায় ২: Terminal থেকে (Quick)
Mac/Linux/Git Bash-এ:
এটি একটি simple HTML file তৈরি করবে। পরে আপনি editor-এ open করে আরও content add করতে পারবেন।
🚀 Step 3: git init — Git Tracking শুরু করুন
Git-কে বলতে হবে: "এই folder-টা track করো।" এটাই git init command-এর কাজ:
git init আসলে কী করে?
এই command চালালে Git আপনার folder-এ একটি hidden folder তৈরি করে: .git/ — এখানে সব history, commits, branches stored থাকবে।
⚠️ .git folder কখনো manually edit বা delete করবেন না
এটা delete করলে আপনার সব history চলে যাবে — Git আবার "untracked" folder হয়ে যাবে।
Verify করুন .git folder তৈরি হয়েছে কিনা:
.git দেখা মানে — আপনার folder এখন Git repository! 🎉
🔍 Step 4: git status — File-এর State দেখুন
git status হলো সবচেয়ে বেশি ব্যবহৃত Git command। এটি আপনাকে বলে — "এখন কী situation?"
এই output-টা কী বলছে?
- "On branch main" — আপনি main branch-এ আছেন (পরের পর্বগুলোতে branch নিয়ে details আসবে)
- "No commits yet" — এখনো কোনো commit করেননি
- "Untracked files: index.html" — লাল রঙে এই file-টা মানে — Git এটা দেখেছে, কিন্তু এখনো track করতে শুরু করেনি
📦 Step 5: git add — Staging Area-তে File রাখুন
Git-কে বলুন এই file-টা track করতে এবং পরের commit-এ include করতে:
git add . মানে — current folder-এর সব file add করুন। ছোট project-এ এটাই সবচেয়ে সহজ।
এখন আবার status check করুন:
এখন file-টা সবুজ রঙে দেখাচ্ছে — মানে এটা Staging Area-তে চলে গেছে। Commit করার জন্য ready! 📦
💾 Step 6: git commit — Permanent Save করুন
এবার Git-কে বলুন — "এই version-টা permanently save করো":
এই command-এর breakdown:
git commit— Commit করো (permanently save)-m— Message flag (পরের string-টা commit message)"Initial commit - added index.html"— আপনার commit message
💡 Commit Message-এর গুরুত্ব
Commit message লেখার সময় ভাবুন — "৬ মাস পরে আমি যখন এই commit দেখব, কী বুঝব?"✅ Good:
"Added contact form to about page"❌ Bad:
"updates" বা "fix" বা "asdf"
এখন আবার status check করুন:
"nothing to commit, working tree clean" — মানে সব ঠিকঠাক saved। কোনো pending change নেই।
📜 Step 7: git log — Commit History দেখুন
এখন পর্যন্ত যত commit করেছেন — সব দেখতে:
প্রতিটি commit-এ যা দেখায়:
- Commit hash:
a3f2c1b8...— unique ID (40 characters) - HEAD -> main: বর্তমানে আপনি main branch-এর latest commit-এ আছেন
- Author: কে commit করেছে (Post 3-এ যে name+email set করেছিলেন)
- Date: কখন
- Message: আপনার commit message
Short version দেখতে চান?
এক লাইনে — অনেক commit থাকলে scan করা সহজ।
🔄 আরেকটি Change এবং Commit করুন
একটাই commit করে চলে গেলে practice হবে না। আরেকটি commit করি — পুরো flow আবার দেখুন।
Step A: index.html edit করুন
Text editor-এ index.html খুলে নিচের লাইন যোগ করুন <body> tag-এর ভিতরে:
Save করুন।
Step B: Status check
"modified" — মানে Git দেখেছে file change হয়েছে, কিন্তু staged না।
Step C: Add + Commit
Step D: Log check
দুটি commit এখন history-তে! 🎉
📋 সব Commands এক জায়গায় (Reference)
| Command | কী করে |
|---|---|
mkdir folder-name | নতুন folder তৈরি করে |
cd folder-name | Folder-এ ঢোকে |
pwd | বর্তমান path দেখায় |
ls | Folder-এ file list দেখায় |
git init | Git tracking শুরু করে (একবার) |
git status | বর্তমান state দেখায় |
git add <file> | একটি file stage করে |
git add . | সব file stage করে |
git commit -m "msg" | Staged file save করে |
git log | সব commit history দেখায় |
git log --oneline | Short version log |
⚠️ Common Beginner Mistakes
1. git add ভুলে যাওয়া
File edit করার পর সরাসরি git commit চালালে error পাবেন — "nothing to commit"। মনে রাখুন: edit → add → commit — এই order।
2. Commit Message ছাড়া
git commit (without -m) চালালে একটি editor খুলবে (যেমন Vim/Nano)। Beginner-দের জন্য এটা confusing — সবসময় -m flag ব্যবহার করুন।
3. ভুল Folder-এ git init
আপনি Desktop-এ git init চালিয়ে দিলেন — এখন Desktop-এর সব file Git track করার চেষ্টা করবে। সবসময় প্রথমে cd দিয়ে সঠিক folder-এ যান।
4. .git Folder Delete করে ফেলা
এটি hidden folder — কখনো হাতে delete করবেন না। সব history হারিয়ে যাবে।
5. একটি Commit-এ অনেক change
১০টি unrelated change একসাথে commit করলে — পরে এর কোনটা problem তৈরি করেছে বুঝতে পারবেন না। ছোট ছোট logical commit ভালো।
📝 Practice Tasks
Task 1: My Portfolio Website তৈরি করুন
Step-by-step follow করুন:- Desktop-এ
my-portfolio-websitefolder তৈরি করুন index.htmlfile তৈরি করুন আপনার নাম দিয়েgit initচালানgit statusচালান — output পড়ুনgit add .চালানgit commit -m "Initial commit"চালানgit logচালান — আপনার নাম দেখা যাচ্ছে কিনা confirm করুন
Task 2: Multiple Commits করুন
Index.html-এ ৩টি আলাদা change করুন (প্রতিবার add + commit):- "About Me" section যোগ করুন → commit
- "Skills" section যোগ করুন → commit
- "Contact" section যোগ করুন → commit
git log --oneline চালান — ৪টি commit দেখা যাবে।
Task 3: Style.css File Add করুন
- একটি
style.cssfile তৈরি করুন (কিছু basic CSS দিয়ে) git statusচালান — untracked দেখাবেgit add style.cssচালানgit commit -m "Added basic styling"
🎁 আরও সাহায্য চাই? Bonus Resources দেখুন
- 📋 Cheat Sheet — সব command এক পাতায়, print-friendly
- 🎯 10 Practice Tasks — hands-on exercises
- 💼 Interview Q&A — job preparation
- ✅ Portfolio Checklist — job-ready profile তৈরির গাইড
📌 সংক্ষেপে — Summary
- ✅ Git-এর ৩টি area: Working Directory → Staging Area → Repository
- ✅
git init= folder-কে Git repository বানান (একবার) - ✅
git status= বর্তমান state দেখান - ✅
git add <file>বাgit add .= file stage করুন - ✅
git commit -m "message"= permanently save করুন - ✅
git log= সব commit history দেখুন - ✅ Workflow: edit → add → commit → repeat
- ✅ Meaningful commit message লিখুন — future-আপনি এর জন্য ধন্যবাদ দেবে
এখন পর্যন্ত সব কাজ আপনার computer-এ local-এ হয়েছে। পরের পর্বে আমরা শিখব কীভাবে এই project GitHub-এ online upload করতে হয়! 🚀
📬 পরের পর্ব মিস করতে চান না?
ShadhinPath Newsletter subscribe করুন — Git & GitHub সিরিজের প্রতিটি পর্ব সরাসরি আপনার inbox-এ পাবেন।
📬 Newsletter Subscribe 📚 সম্পূর্ণ সিরিজ📧 Question? hello@shadhinpath.com
প্রতি সপ্তাহে নতুন বাংলা গাইড পেতে চান?
ShadhinPath Facebook page Follow করে রাখুন — Tech career, USA immigration, finance, study abroad — সব নতুন content প্রথমে এখানে আসে।
👍 Facebook-এ Follow করুন