Bookmark করে রাখুন এই page-টি। যখনই Git/GitHub-এ আটকে যাবেন, এখানে আসুন। সব essential command — সংজ্ঞা, কখন use করবেন, example — এক পাতায়।

🛠️ Setup & Configuration

Commandকী করেকখন use করবেন
git --versionGit version দেখায়Install verify করতে
git config --global user.name "Name"আপনার নাম set করেপ্রথমবার setup-এ একবার
git config --global user.email "..."আপনার email set করেপ্রথমবার setup-এ একবার
git config --global init.defaultBranch mainDefault branch main setএকবার setup-এ
git config --listসব configuration দেখায়Settings verify করতে

📁 Repository তৈরি ও Clone

Commandকী করেকখন use করবেন
git initএকটি folder-কে Git repo বানায়নতুন project শুরুতে
git clone <url>Remote repo computer-এ copy করেExisting project download করতে
git clone <url> folder-nameClone + নতুন folder নামDifferent folder নাম চাইলে

📊 Status & History

Commandকী করেকখন use করবেন
git statusWorking tree-এর state দেখায়প্রতিদিন বহুবার — কী situation দেখতে
git logসম্পূর্ণ commit historyপুরোনো commits track করতে
git log --onelineShort version logQuick history overview
git log --graph --allVisual branch treeBranches সম্পর্ক বুঝতে
git diffUnstaged changes দেখায়Commit করার আগে review
git diff --stagedStaged changes দেখায়Commit এর আগে final check
git show <commit-id>একটি specific commit-এর detailsপুরোনো commit inspect করতে

📝 Staging & Committing

Commandকী করেকখন use করবেন
git add <file>একটি file stage করেSpecific file commit করতে
git add .সব changes stage করেসব কিছু commit করতে
git add -pInteractive add (chunk-by-chunk)Carefully select করতে
git commit -m "message"Staged changes save করেপ্রতিটি logical change-এর পর
git commit -am "message"Add + commit একসাথেTracked file-এ quick commit
git commit --amendLast commit modify করেLast commit-এ typo fix করতে

🌐 Remote & Push/Pull

Commandকী করেকখন use করবেন
git remote add origin <url>Remote add করেপ্রথমবার GitHub-এর সাথে connect
git remote -vসব remote দেখায়Connection verify করতে
git remote remove originRemote সরিয়ে দেয়URL ভুল হলে
git push -u origin mainপ্রথমবার push (upstream set)নতুন branch push-এর সময়
git pushLocal commits remote-এ পাঠায়কাজ শেষে দিনের শেষে
git pullRemote থেকে latest আনেপ্রতিদিন কাজ শুরুর আগে
git fetchRemote info আনে (merge ছাড়া)Pull-এর আগে preview চাইলে

🌳 Branching

Commandকী করেকখন use করবেন
git branchসব local branch listBranch overview-এর জন্য
git branch -aLocal + remote সব branchসব branch দেখতে
git branch <name>নতুন branch তৈরি (switch করে না)Just create করতে
git switch -c <name>Create + switch (modern)নতুন কাজ শুরু করতে
git switch <name>Existing branch-এ switchBranch change করতে
git checkout -b <name>Create + switch (পুরোনো)পুরোনো tutorial-এ
git checkout <name>Switch (পুরোনো)পুরোনো tutorial-এ
git branch -d <name>Merged branch deleteCleanup করতে
git branch -D <name>Force delete (careful!)Unmerged branch trash করতে
git branch -m <old> <new>Branch renameName change করতে

🔀 Merging

Commandকী করেকখন use করবেন
git merge <branch>Branch-কে current-এ mergeFeature complete হলে
git merge --abortOngoing merge cancelConflict-এ confused হলে
git merge --no-ff <branch>Always create merge commitClean history maintain

↩️ Undo & Restore

Commandকী করেকখন use করবেন
git restore <file>File-কে last commit-এ revertEdit cancel করতে
git restore --staged <file>Staged file কে unstageStage থেকে remove করতে
git reset --soft HEAD~1Last commit undo (changes রাখুন)Commit message ভুল হলে
git reset --hard HEAD~1Last commit + changes delete (DANGER)সব mistake reset করতে
git revert <commit-id>Commit undo করে নতুন commit তৈরিPushed commit safely undo

📦 Stash (সাময়িক Save)

Commandকী করেকখন use করবেন
git stashUncommitted changes সাময়িক saveUrgent অন্য কাজ করতে
git stash popStash এর জিনিস ফিরিয়ে আনুনমূল কাজে ফেরার সময়
git stash listসব stash দেখায়Multiple stash থাকলে
git stash dropStash deleteStash আর দরকার নেই

🏷️ Tags & Releases

Commandকী করেকখন use করবেন
git tagসব tag দেখায়Version history দেখতে
git tag v1.0Lightweight tag তৈরিQuick version mark
git tag -a v1.0 -m "message"Annotated tag (recommended)Release marking
git push origin v1.0একটি tag GitHub-এ pushRelease publish করতে
git push origin --tagsসব tags pushBulk push

🎁 Bonus: Advanced (Use After 3+ Months)

Commandকী করেকখন use করবেন
git rebase <branch>Branch reapply with linear historyLong-running feature branch
git rebase -i HEAD~3Interactive — squash, edit commitsPR-এর আগে cleanup
git cherry-pick <commit-id>একটি specific commit-কে current branch-এ আনুনSelective commit copy
git reflogসব Git actions-এর log"আমি কী ভুল করেছি" recover
git blame <file>প্রতিটি line কে কখন লিখেছে"এই code কে লিখেছে?"

⚡ Daily Workflow Recap

প্রতিদিনের Standard Flow:

  1. git status — কী situation
  2. git pull — latest আনুন
  3. (কাজ করুন)
  4. git status — কী change হয়েছে
  5. git add . — stage
  6. git commit -m "..." — save
  7. git push — GitHub-এ পাঠান

🔥 Emergency Commands

সমস্যাSolution
"আমি ভুল branch-এ commit করেছি"git log → commit id copy → switch correct branch → git cherry-pick <id>
"Last commit-এ ভুল file আছে"git reset --soft HEAD~1 → fix → recommit
"Push করতে গিয়ে rejected"git pull --rebase → তারপর git push
"Merge conflict-এ আটকে গেছি"git merge --abort → শুরু থেকে
"Uncommitted changes কিন্তু branch switch করতে হবে"git stash → switch → পরে git stash pop
"একটি file-এর change cancel করব"git restore <file>

📚 Series-এর Posts

পর্বTopicLink
Git vs GitHubপড়ুন →
Version Controlপড়ুন →
Install & Setupপড়ুন →
First Projectপড়ুন →
GitHub Uploadপড়ুন →
Daily Workflowপড়ুন →
Branch & Mergeপড়ুন →
Pull Requestপড়ুন →
Merge Conflictপড়ুন →
১০Advanced + Portfolioপড়ুন →

📬 Series আরও পেতে চান?

Newsletter subscribe করুন — নতুন tech career content আপনার inbox-এ।

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

f

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

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

👍 Facebook-এ Follow করুন