এতদিনে আপনি Git basics শিখেছেন এবং GitHub-এ project upload করেছেন। কিন্তু real developer-রা প্রতিদিন কীভাবে কাজ করেন? কোন order-এ কোন command চালান? কেন git pull দরকার?

এই পর্বে আপনি শিখবেন daily Git workflow — যেটা Google, Microsoft, Facebook-এর developers থেকে শুরু করে freelancer পর্যন্ত সবাই follow করেন।

🎯 এই পর্বের পর আপনি যা পারবেন

⚡ The 5-Step Daily Workflow

প্রতিদিন কাজ শুরু থেকে শেষ পর্যন্ত এই ৫টি command চালান। এই pattern memorize করে নিন:

Status Check
git status
Pull Latest
git pull
Add Changes
git add .
Commit
git commit -m
Push
git push

চলুন প্রতিটি step বিস্তারিত দেখি।

🔍 Step 1: git status — প্রথমেই Check করুন

সকালে কাজ শুরু করার সময়, project folder-এ গিয়ে প্রথম যে command চালাবেন সেটা হলো:

$ cd Desktop/my-portfolio-website $ git status

কেন git status দিয়ে শুরু করবেন?

Output দুটির মধ্যে একটা হবে:

Scenario A: সব clean

On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean

সব saved এবং remote-এর সাথে synchronized। কাজ শুরু করতে পারেন।

Scenario B: Pending changes

On branch main Changes not staged for commit: modified: index.html modified: style.css

গতকালের কাজ এখনো commit হয়নি। ভেবে দেখুন — সেগুলো রাখবেন না delete করবেন।

📥 Step 2: git pull — Remote থেকে Latest আনুন

Status check করার পর — কাজ শুরু করার আগে — সবসময় pull করুন:

$ git pull Already up to date.

অথবা যদি new change থাকে:

$ git pull remote: Counting objects: 5, done. remote: Compressing objects: 100% (3/3), done. Unpacking objects: 100% (5/5), done. From github.com:your-username/my-portfolio-website a3f2c1b..7c5d3e1 main -> origin/main Updating a3f2c1b..7c5d3e1 Fast-forward style.css | 12 ++++++++++++ 1 file changed, 12 insertions(+)

কেন Pull করা গুরুত্বপূর্ণ?

মনে করুন আপনি একটি team-এ কাজ করছেন। গতকাল রাতে আপনার বন্ধু GitHub-এ একটি update push করেছে। আপনি যদি pull না করে কাজ শুরু করেন:

Pull করে নিলে — আপনার computer-এ latest version চলে আসে। তারপর কাজ শুরু করলে কোনো conflict হয় না।

💡 Pull = Fetch + Merge

Technically git pull দুটো কাজ একসাথে করে: (১) git fetch — remote থেকে latest changes আনে, (২) git merge — সেগুলো আপনার local-এর সাথে merge করে। Beginner-এর জন্য — শুধু git pull ই যথেষ্ট।

✏️ Step 3: কাজ করুন এবং git add

এবার আপনার project file-এ change করুন। কিছু উদাহরণ:

Change করা শেষ হলে — Status check করুন:

$ git status On branch main Changes not staged for commit: modified: index.html modified: style.css

সব stage করুন:

# সব file একসাথে $ git add . # অথবা specific file $ git add index.html style.css

Verify করুন:

$ git status On branch main Changes to be committed: modified: index.html modified: style.css

সবুজ মানে staged। Ready to commit। ✅

💾 Step 4: git commit — Meaningful Message সহ

এই step-এ আমরা ভালোভাবে আলোচনা করব — কারণ commit message লেখা একটা শিল্প

$ git commit -m "Updated homepage content and refined navigation styles"

✍️ Good vs Bad Commit Messages

Good commit message কেন গুরুত্বপূর্ণ? কারণ ৬ মাস পরে আপনি যখন history দেখবেন, message-ই বলবে — কোন commit-এ কী হয়েছিল।

❌ Bad Commit Messages

"update"
"fix"
"asdf"
"final"
"changes"
"oops"

এগুলোর সমস্যা — কোনো information নেই। ১ মাস পরে দেখলে কিছুই বোঝা যাবে না।

✅ Good Commit Messages

"Add contact form to about page"
"Fix mobile responsiveness on hero section"
"Update font size for better readability"
"Remove unused CSS classes from style.css"
"Add LinkedIn link to footer"

এগুলোতে — কী change হয়েছে + কোথায় — দুটোই আছে।

📝 Good Commit Message লেখার নিয়ম

নিয়মউদাহরণ
Verb দিয়ে শুরু করুন (Add, Fix, Update, Remove)Add login button
Imperative mood — present tense"Fix bug" ✅ (not "Fixed bug")
50 character-এর কম রাখুনসংক্ষিপ্ত + পরিষ্কার
Capital letter দিয়ে শুরুUpdate navigation
শেষে period (.) দরকার নেইAdd footer (not Add footer.)
কী + কোথায় — দুটি informationFix typo in about page

🎯 Common Action Words

💡 Conventional Commits (Bonus)

Industry-তে অনেক team "Conventional Commits" follow করে — যেমন: feat: add login button, fix: resolve mobile menu bug, docs: update readme। Beginner হিসেবে — এটা optional, কিন্তু জানা থাকলে job-এ যোগ দিলে কাজে দেবে।

📤 Step 5: git push — GitHub-এ পাঠান

সব commit করা হলে — GitHub-এ পাঠান:

$ git push Enumerating objects: 7, done. Counting objects: 100% (7/7), done. Delta compression using up to 8 threads Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 432 bytes | 432.00 KiB/s, done. Total 4 (delta 2), reused 0 (delta 0) To github.com:your-username/my-portfolio-website.git 7c5d3e1..9f8a2b3 main -> main

Successful! আপনার change এখন GitHub-এ live। Browser-এ repository খুলে confirm করুন।

🔄 একটি Real-World Example

আজ আপনি homepage-এ কিছু change করতে চান। দেখুন পুরো flow:

সকাল ১০টা — কাজ শুরু

$ cd Desktop/my-portfolio-website # Step 1: Status check $ git status On branch main, nothing to commit # Step 2: Latest pull $ git pull Already up to date.

সকাল ১০টা–১১টা — কাজ চলছে

Text editor-এ index.html এবং style.css edit করছেন। নতুন "Projects" section যোগ করছেন।

সকাল ১১টা — Stage + Commit

# Step 3: Add $ git status modified: index.html, style.css $ git add . # Step 4: Commit $ git commit -m "Add projects section with three featured items" [main 9f8a2b3] Add projects section with three featured items 2 files changed, 28 insertions(+)

সকাল ১১:০৫ — Push

# Step 5: Push $ git push To github.com:your-username/my-portfolio-website.git 7c5d3e1..9f8a2b3 main -> main

✅ ৫ মিনিটের কাজ। এটাই daily Git workflow।

📊 Workflow Summary Cheat Sheet

OrderCommandকেন
git statusকী situation দেখতে
git pullLatest changes আনতে
(কাজ করুন)File edit, code লেখা
git statusকী change হয়েছে দেখতে
git add .Stage all changes
git commit -m "msg"Permanently save
git pushGitHub-এ পাঠান

⚠️ Common Beginner Mistakes

1. Pull না করে কাজ শুরু

সমস্যা: Push করার সময় "Updates were rejected" error।

সমাধান: সবসময় কাজ শুরুর আগে git pull করুন। Solo project-এ কম জরুরি, team-এ critical।

2. Commit ছাড়াই push চেষ্টা

সমস্যা: "Everything up-to-date" — কিন্তু আপনার change push হচ্ছে না।

সমাধান: Push শুধু committed change পাঠায়। প্রথমে add + commit করুন।

3. একই commit-এ অনেক unrelated change

সমস্যা: "Update everything" — পরে বুঝতে পারবেন না কোনটা problem।

সমাধান: Related changes একসাথে — unrelated হলে আলাদা commit। Small + focused commits।

4. git add ভুলে যাওয়া

সমস্যা: Commit চালালেন, কিন্তু "nothing to commit"।

সমাধান: Add → Commit — এই order মনে রাখুন।

5. Vague commit message

সমস্যা: "fix", "update", "asdf" — ভবিষ্যতে কাজে আসবে না।

সমাধান: Specific verb + কী + কোথায় — উপরের rules follow করুন।

6. কাজ শেষে push না করা

সমস্যা: Computer crash হলে local-এ থাকা সব change হারিয়ে যাবে।

সমাধান: Day শেষে অবশ্যই push করে যান। Backup-এর সবচেয়ে সহজ উপায়।

📝 Practice Tasks

Task 1: Full Workflow Practice

আজই আপনার My Portfolio Website-এ একটি ছোট change করুন:
  1. cd দিয়ে project folder-এ যান
  2. git status চালান
  3. git pull চালান
  4. index.html-এ একটি নতুন line যোগ করুন
  5. git status চালান — দেখুন modified দেখায়
  6. git add .
  7. git commit -m "..." — একটি meaningful message দিন
  8. git push
  9. GitHub-এ refresh করে confirm করুন

Task 2: Commit Message Practice

নিচের bad commit message-গুলো good-এ rewrite করুন:
  1. "changes" → ?
  2. "fix" → ?
  3. "final" → ?
  4. "update website" → ?
  5. "asdf" → ?

Task 3: ৩টি ছোট Commit করুন

Project-এ ৩টি আলাদা ছোট change করুন (একটি commit একটি change):
  1. Title change → commit
  2. Color update → commit
  3. New section add → commit
শেষে git log --oneline চালান — ৩টি আলাদা commit দেখা যাবে।

🎁 আরও সাহায্য চাই? Bonus Resources দেখুন

📌 সংক্ষেপে — Summary

🎉 এই workflow practice করতে থাকুন — ১ সপ্তাহের মধ্যে muscle memory হয়ে যাবে। পরের পর্বে আমরা শিখব Branch — team work-এর সবচেয়ে গুরুত্বপূর্ণ skill।

← আগের পর্ব
পর্ব ৫: GitHub Upload
পরের পর্ব →
পর্ব ৭: Branch ও Merge

📬 পরের পর্ব মিস করতে চান না?

ShadhinPath Newsletter subscribe করুন — Git & GitHub সিরিজের প্রতিটি পর্ব সরাসরি inbox-এ।

📬 Newsletter Subscribe 📚 সম্পূর্ণ সিরিজ

📧 Question? hello@shadhinpath.com

f

প্রতি সপ্তাহে নতুন বাংলা গাইড পেতে চান?

ShadhinPath Facebook page Follow করে রাখুন — Tech career, USA immigration, finance, study abroad — সব নতুন content প্রথমে এখানে আসে।

👍 Facebook-এ Follow করুন