DEV Community

Cover image for Git: ডেভেলপার ও শিক্ষার্থীদের জন্য একটি পূর্ণাঙ্গ গাইড
Jeyaul Hoque
Jeyaul Hoque

Posted on

Git: ডেভেলপার ও শিক্ষার্থীদের জন্য একটি পূর্ণাঙ্গ গাইড

🚀 Git: ডেভেলপারদের জন্য Version Control-এর সম্পূর্ণ গাইড

"Code লিখা যতটা গুরুত্বপূর্ণ, সেই code-এর পরিবর্তনগুলো সঠিকভাবে manage করাও ততটাই গুরুত্বপূর্ণ।"

আপনি যদি Web Development, Software Development অথবা Programming শেখেন, তাহলে খুব দ্রুতই Git নামটির সঙ্গে পরিচিত হবেন।

শুরুতে Git-এর commandগুলো একটু কঠিন মনে হতে পারে। git add, git commit, git push, git pull, branch, merge—সবকিছু একসাথে দেখলে মাথা ঘুরে যেতে পারে! 😅

কিন্তু চিন্তার কিছু নেই।

এই লেখায় আমরা একদম শুরু থেকে Git-এর গুরুত্বপূর্ণ বিষয়গুলো সহজ ভাষায় বুঝব এবং শেষে একটি practical workflow তৈরি করব।


📌 এই লেখায় কী শিখবেন?

এই ব্লগটি পড়ার পর আপনি জানতে পারবেন:

  • Git কী এবং কেন ব্যবহার করা হয়
  • Git এবং GitHub-এর মধ্যে পার্থক্য
  • Repository কী
  • Working Directory কী
  • Staging Area কী
  • Commit কী
  • Branch কী
  • HEAD কী
  • Merge কী
  • Remote Repository কী
  • push এবং pull কীভাবে কাজ করে
  • Merge Conflict কী এবং কীভাবে সমাধান করতে হয়
  • reset, revert, rebase, cherry-pick কী
  • .gitignore কী
  • Git-এর সাধারণ workflow
  • গুরুত্বপূর্ণ Git commands
  • Git-এর ভালো practice

🧠 Git কী?

Git হলো একটি Distributed Version Control System (DVCS)।

সহজ ভাষায় বললে—

Git আপনার project-এর পরিবর্তনের history সংরক্ষণ করে।

ধরুন আপনি একটি website তৈরি করছেন।

আজ আপনার project এমন:

index.html
style.css
script.js
Enter fullscreen mode Exit fullscreen mode

আগামীকাল আপনি অনেক পরিবর্তন করলেন।

তারপর ভুল করে পুরো website নষ্ট হয়ে গেল! 😱

এখন যদি Git ব্যবহার করেন, তাহলে আগের কোনো একটি commit-এ ফিরে গিয়ে project-এর পুরোনো অবস্থাটি দেখতে বা পুনরুদ্ধার করতে পারবেন।

অর্থাৎ Git অনেকটা আপনার project-এর time machine-এর মতো। ⏰


🕰️ Git-এর সংক্ষিপ্ত ইতিহাস

Git তৈরি করা হয় ২০০৫ সালে, Linux Kernel-এর development-এর প্রয়োজন থেকে।

Git-এর প্রধান লক্ষ্য ছিল:

  • ⚡ দ্রুত কাজ করা
  • 📦 বড় project handle করা
  • 🔀 শক্তিশালী branching ও merging
  • 🌐 Distributed ভাবে কাজ করা

বর্তমানে Git software development-এর অন্যতম গুরুত্বপূর্ণ tool।


🤔 Git কেন ব্যবহার করব?

একজন developer হিসেবে Git আপনার অনেক সমস্যা সহজ করে দেয়।

Git ব্যবহার করার প্রধান কারণ:

  1. Code-এর পরিবর্তন track করা যায়
  2. আগের version দেখা যায়
  3. পুরোনো অবস্থায় ফিরে যাওয়া যায়
  4. একাধিক developer একসাথে কাজ করতে পারে
  5. আলাদা feature-এর জন্য branch তৈরি করা যায়
  6. Code merge করা যায়
  7. Project-এর history সংরক্ষণ করা যায়
  8. Remote repository-তে code রাখা যায়

Git বনাম GitHub — একই জিনিস নয়! ⚠️

অনেক beginner এখানে ভুল করেন।

Git এবং GitHub এক জিনিস নয়।

Git

Git হলো একটি Version Control System

এটি আপনার computer-এ install করে ব্যবহার করা যায়।

GitHub

GitHub হলো একটি online platform, যেখানে Git repository host করা যায়।

সহজভাবে:

Git
 ↓
Version Control System

GitHub
 ↓
Git Repository Hosting Platform
Enter fullscreen mode Exit fullscreen mode

আরও সহজভাবে বললে:

Git হলো tool, আর GitHub হলো Git repository রাখার একটি online জায়গা।

Git-এর পাশাপাশি GitHub, GitLab এবং Bitbucket-এর মতো platform-ও ব্যবহার করা যায়।


📁 Repository কী?

Repository বা Repo হলো এমন একটি জায়গা যেখানে আপনার project এবং তার Git history সংরক্ষিত থাকে।

যখন আপনি একটি project-এ Git initialize করেন, তখন সেখানে একটি .git directory তৈরি হয়।

উদাহরণ:

mkdir my-project
cd my-project
git init
Enter fullscreen mode Exit fullscreen mode

Output:

Initialized empty Git repository in /path/to/my-project/.git/
Enter fullscreen mode Exit fullscreen mode

এখন my-project একটি Git repository।


🔄 Git কীভাবে কাজ করে?

Git-এর সবচেয়ে গুরুত্বপূর্ণ ধারণাগুলোর একটি হলো এর তিনটি প্রধান state:

Working Directory
       ↓
Staging Area
       ↓
Repository
Enter fullscreen mode Exit fullscreen mode

এগুলো বুঝতে পারলে Git অনেক সহজ হয়ে যাবে।


1️⃣ Working Directory

আপনি যখন project-এর file edit করেন, তখন পরিবর্তনটি প্রথমে Working Directory-তে থাকে।

উদাহরণ:

index.html
style.css
script.js
Enter fullscreen mode Exit fullscreen mode

আপনি style.css পরিবর্তন করলেন।

এখন Git সেই পরিবর্তন detect করতে পারবে।


2️⃣ Staging Area

আপনি যখন বলেন—

"এই পরিবর্তনটি আমি পরবর্তী commit-এ রাখতে চাই।"

তখন git add ব্যবহার করেন।

git add style.css
Enter fullscreen mode Exit fullscreen mode

এখন পরিবর্তনটি Staging Area-তে চলে যাবে।


3️⃣ Repository

এরপর git commit করলে staging করা পরিবর্তন Git history-তে সংরক্ষিত হয়।

git commit -m "Update website styling"
Enter fullscreen mode Exit fullscreen mode

তাহলে পুরো flow হলো:

Edit File
   ↓
Working Directory
   ↓
git add
   ↓
Staging Area
   ↓
git commit
   ↓
Repository
Enter fullscreen mode Exit fullscreen mode

এটি Git শেখার জন্য সবচেয়ে গুরুত্বপূর্ণ flow-গুলোর একটি। 🔥


📸 Commit কী?

Commit হলো project-এর একটি নির্দিষ্ট অবস্থার snapshot।

প্রতিটি commit-এর সঙ্গে একটি message থাকে।

উদাহরণ:

git add .
git commit -m "Add homepage design"
Enter fullscreen mode Exit fullscreen mode

এখানে:

  • git add . → পরিবর্তনগুলো staging-এ নেয়
  • git commit → পরিবর্তন সংরক্ষণ করে
  • -m → commit message
  • "Add homepage design" → কী পরিবর্তন হয়েছে তার বর্ণনা

ভালো Commit Message কেমন হওয়া উচিত?

❌ খারাপ:

update
Enter fullscreen mode Exit fullscreen mode

❌ আরও খারাপ:

changes
Enter fullscreen mode Exit fullscreen mode

✅ ভালো:

Add responsive navigation menu
Enter fullscreen mode Exit fullscreen mode

অথবা:

Fix login form validation bug
Enter fullscreen mode Exit fullscreen mode

Commit message এমন হওয়া উচিত যাতে পরে history দেখলে আপনি বুঝতে পারেন কী পরিবর্তন করেছিলেন।


🌿 Branch কী?

Git-এর সবচেয়ে শক্তিশালী feature-এর একটি হলো Branch

ধরুন আপনার main project চলছে ঠিকঠাক।

এখন আপনি নতুন একটি Login System তৈরি করতে চান।

আপনি সরাসরি main branch-এ কাজ না করে একটি নতুন branch তৈরি করতে পারেন:

git branch feature/login
Enter fullscreen mode Exit fullscreen mode

তারপর branch-এ যেতে পারেন:

git checkout feature/login
Enter fullscreen mode Exit fullscreen mode

এখন আপনি feature/login branch-এ কাজ করছেন।


Branch কেন ব্যবহার করব?

Branch ব্যবহার করলে:

  • নতুন feature আলাদাভাবে তৈরি করা যায়
  • Main code নিরাপদ থাকে
  • একাধিক developer একসাথে কাজ করতে পারে
  • Feature test করা যায়
  • কাজ শেষ হলে main branch-এ merge করা যায়

একটি সাধারণ structure:

main
 │
 ├── feature/login
 │
 ├── feature/payment
 │
 └── feature/profile
Enter fullscreen mode Exit fullscreen mode

👀 HEAD কী?

HEAD হলো Git-এর একটি গুরুত্বপূর্ণ reference।

সহজ ভাষায়:

HEAD সাধারণত আপনি বর্তমানে কোন branch/commit-এ অবস্থান করছেন সেটিকে নির্দেশ করে।

উদাহরণ:

main
  ↓
Commit A
  ↓
Commit B
  ↓
Commit C
       ↑
      HEAD
Enter fullscreen mode Exit fullscreen mode

আপনি যখন branch পরিবর্তন করেন, HEAD-ও সেই branch-এর দিকে চলে যায়।


🔀 Merge কী?

ধরুন আপনি feature/login branch-এ Login System তৈরি করলেন।

এখন সেই কাজটি main branch-এ আনতে হবে।

প্রথমে main branch-এ যান:

git checkout main
Enter fullscreen mode Exit fullscreen mode

তারপর merge করুন:

git merge feature/login
Enter fullscreen mode Exit fullscreen mode

এখন feature/login-এর পরিবর্তন main branch-এ চলে আসবে।

সহজভাবে:

main
  \
   feature/login
        |
        | কাজ শেষ
        ↓
      merge
        ↓
      main
Enter fullscreen mode Exit fullscreen mode

⚠️ Merge Conflict কী?

কখনো কখনো Git নিজে থেকে দুই branch-এর পরিবর্তন merge করতে পারে না।

যেমন দুই developer একই জায়গায় একই file পরিবর্তন করেছে।

তখন Git বলতে পারে:

CONFLICT (content): Merge conflict in hello.py
Automatic merge failed; fix conflicts and then commit the result.
Enter fullscreen mode Exit fullscreen mode

এটি হলো Merge Conflict

কী করবেন?

প্রথমে:

git status
Enter fullscreen mode Exit fullscreen mode

তারপর conflicted file খুলে সমস্যার জায়গাটি ঠিক করতে হবে।

Git সাধারণত এমন marker দেখাতে পারে:

<<<<<<< HEAD
Your changes
=======
Other branch changes
>>>>>>> feature/login
Enter fullscreen mode Exit fullscreen mode

আপনাকে প্রয়োজনীয় code রেখে conflict markers সরিয়ে দিতে হবে।

তারপর:

git add hello.py
Enter fullscreen mode Exit fullscreen mode

এবং:

git commit -m "Resolve merge conflict"
Enter fullscreen mode Exit fullscreen mode

☁️ Remote Repository কী?

আপনার computer-এর repository হলো local repository

আর GitHub/GitLab-এর মতো platform-এ থাকা repository হলো remote repository

সাধারণত remote-এর নাম:

origin
Enter fullscreen mode Exit fullscreen mode

তাই আপনি দেখতে পারেন:

Local Repository
       ↓
     origin
       ↓
Remote Repository
Enter fullscreen mode Exit fullscreen mode

📤 Git Push কী?

আপনার local commit remote repository-তে পাঠাতে:

git push origin main
Enter fullscreen mode Exit fullscreen mode

অর্থাৎ:

Local → Remote


📥 Git Pull কী?

Remote repository-তে অন্য কেউ পরিবর্তন করেছে।

সেই পরিবর্তন আপনার local repository-তে আনতে:

git pull origin main
Enter fullscreen mode Exit fullscreen mode

অর্থাৎ:

Remote → Local


🔁 Push এবং Pull এক নজরে

Your Computer                 GitHub
     │                          │
     │ ─────── git push ─────→ │
     │                          │
     │ ←────── git pull ────── │
     │                          │
Enter fullscreen mode Exit fullscreen mode

📥 Existing Project Clone করা

যদি কোনো remote repository আপনার computer-এ আনতে চান, তাহলে:

git clone <repository-url>
Enter fullscreen mode Exit fullscreen mode

উদাহরণ:

git clone https://github.com/example/project.git
Enter fullscreen mode Exit fullscreen mode

এতে repository-এর history সহ project আপনার computer-এ চলে আসবে।


🏷️ Tag কী?

কোনো নির্দিষ্ট commit-কে বিশেষভাবে চিহ্নিত করতে Tag ব্যবহার করা হয়।

বিশেষ করে release-এর ক্ষেত্রে এটি খুব কাজে লাগে।

উদাহরণ:

git tag -a v1.0 -m "First release"
Enter fullscreen mode Exit fullscreen mode

তারপর:

git push origin v1.0
Enter fullscreen mode Exit fullscreen mode

এখন v1.0 একটি release point হিসেবে চিহ্নিত থাকবে।


🛠️ সবচেয়ে গুরুত্বপূর্ণ Git Commands

নিচের commands-গুলো একজন beginner-এর অবশ্যই জানা উচিত।

Command কাজ
git init নতুন repository তৈরি
git clone <url> Remote repository clone
git status বর্তমান অবস্থা দেখা
git add <file> File staging করা
git commit -m "message" Commit তৈরি
git log Commit history দেখা
git branch Branch দেখা/তৈরি
git checkout Branch পরিবর্তন
git merge Branch merge
git pull Remote থেকে পরিবর্তন আনা
git push Remote-এ পরিবর্তন পাঠানো
git reset Commit/changes পিছিয়ে নেওয়া
git revert আগের পরিবর্তন নতুন commit দিয়ে undo করা
git rebase Commit history পুনর্বিন্যাস
git cherry-pick নির্দিষ্ট commit অন্য branch-এ নেওয়া
git tag নির্দিষ্ট commit চিহ্নিত করা

🚀 একটি বাস্তব Git Workflow

এবার ধরে নিই আপনি একটি নতুন website তৈরি করছেন।

Step 1 — Project তৈরি

mkdir my-website
cd my-website
Enter fullscreen mode Exit fullscreen mode

Step 2 — Git initialize

git init
Enter fullscreen mode Exit fullscreen mode

Step 3 — File তৈরি

touch index.html
Enter fullscreen mode Exit fullscreen mode

Step 4 — Status দেখুন

git status
Enter fullscreen mode Exit fullscreen mode

Step 5 — File Stage করুন

git add index.html
Enter fullscreen mode Exit fullscreen mode

Step 6 — Commit করুন

git commit -m "Add homepage"
Enter fullscreen mode Exit fullscreen mode

Step 7 — Feature branch তৈরি করুন

git branch feature/navbar
git checkout feature/navbar
Enter fullscreen mode Exit fullscreen mode

Step 8 — Feature তৈরি করুন

আপনার Navbar code লিখুন।

তারপর:

git add .
git commit -m "Add responsive navbar"
Enter fullscreen mode Exit fullscreen mode

Step 9 — Main branch-এ ফিরে যান

git checkout main
Enter fullscreen mode Exit fullscreen mode

Step 10 — Feature merge করুন

git merge feature/navbar
Enter fullscreen mode Exit fullscreen mode

Step 11 — Remote-এ Push করুন

git push origin main
Enter fullscreen mode Exit fullscreen mode

🎉 ব্যস!

এটাই একটি সাধারণ Git workflow।


🔄 git revert বনাম git reset

এই দুইটি command beginner-দের অনেক confuse করে।

git revert

git revert একটি নতুন commit তৈরি করে আগের commit-এর পরিবর্তন উল্টে দেয়।

git revert <commit>
Enter fullscreen mode Exit fullscreen mode

এটি shared/public history-এর ক্ষেত্রে তুলনামূলকভাবে নিরাপদ।


git reset

git reset আপনার HEAD এবং repository state পিছিয়ে নিতে পারে।

উদাহরণ:

git reset --hard HEAD~1
Enter fullscreen mode Exit fullscreen mode

⚠️ সতর্কতা: --hard ব্যবহার করলে uncommitted কাজ হারিয়ে যেতে পারে।

তাই reset ব্যবহার করার আগে ভালোভাবে বুঝে নেওয়া উচিত আপনি কী করছেন।


🍒 Git Cherry-pick কী?

ধরুন একটি branch-এ ১০টি commit আছে।

কিন্তু আপনার দরকার শুধু একটি নির্দিষ্ট commit।

তখন git cherry-pick ব্যবহার করতে পারেন।

git cherry-pick <commit-id>
Enter fullscreen mode Exit fullscreen mode

এতে নির্দিষ্ট commit-এর পরিবর্তন আপনার বর্তমান branch-এ প্রয়োগ হবে।


🔃 Git Rebase কী?

git rebase ব্যবহার করে একটি branch-এর commit অন্য branch-এর latest অবস্থানের ওপর পুনর্বিন্যাস করা যায়।

উদাহরণ:

git checkout feature/login
git rebase main
Enter fullscreen mode Exit fullscreen mode

এর ফলে history অনেক সময় আরও linear এবং clean দেখা যায়।

তবে মনে রাখবেন:

⚠️ Rebase history পরিবর্তন করে। Shared branch-এ rebase করার আগে সতর্ক হতে হবে।


📂 .gitignore কী?

কিছু file বা folder আমরা Git-এ track করতে চাই না।

যেমন:

  • node_modules
  • Python cache
  • IDE settings
  • Operating system files
  • Build files

এসব ignore করতে .gitignore file ব্যবহার করা হয়।

উদাহরণ:

# Operating system
.DS_Store
Thumbs.db

# Python
__pycache__/
*.py[cod]

# Node
node_modules/

# VS Code
.vscode/

# IntelliJ
*.iml
Enter fullscreen mode Exit fullscreen mode

এতে Git এই file/folder-গুলো track করবে না।


💡 Git-এর কিছু ভালো অভ্যাস

Git শেখার পাশাপাশি ভালো habit তৈরি করাও গুরুত্বপূর্ণ।

✅ 1. ছোট ছোট Commit করুন

একটি commit-এ অপ্রয়োজনীয় অনেক পরিবর্তন না রাখাই ভালো।

✅ 2. ভালো Commit Message লিখুন

Add login form validation
Enter fullscreen mode Exit fullscreen mode

এর মতো পরিষ্কার message লিখুন।

✅ 3. Commit করার আগে Status দেখুন

git status
Enter fullscreen mode Exit fullscreen mode

এতে আপনি বুঝতে পারবেন কোন file পরিবর্তিত হয়েছে।

✅ 4. Main branch-কে Stable রাখুন

নতুন feature-এর জন্য আলাদা branch ব্যবহার করুন।

✅ 5. .gitignore ব্যবহার করুন

অপ্রয়োজনীয় file repository-তে পাঠাবেন না।

✅ 6. Push করার আগে Pull করুন

Team project হলে অন্যদের পরিবর্তন আগে নিয়ে নেওয়া ভালো।

git pull
Enter fullscreen mode Exit fullscreen mode

❌ Beginner-রা যে ভুলগুলো বেশি করে

ভুল ১: সবকিছু একসাথে commit করা

git add .
git commit -m "everything"
Enter fullscreen mode Exit fullscreen mode

এভাবে না করে logically related পরিবর্তনগুলো আলাদা commit করুন।


ভুল ২: Commit message হিসেবে শুধু update লেখা

update
changes
final
final2
new
Enter fullscreen mode Exit fullscreen mode

এ ধরনের message পরে history বুঝতে সমস্যা তৈরি করে।


ভুল ৩: git reset --hard না বুঝে ব্যবহার করা

এই command খুব powerful।

তাই command ব্যবহার করার আগে নিশ্চিত হন কী হারাতে পারেন।


ভুল ৪: Main branch-এ সরাসরি সব কাজ করা

Team project হলে feature branch ব্যবহার করা অনেক বেশি সুবিধাজনক হতে পারে।


🌳 Git Workflow-এর কয়েকটি ধরন

Git দিয়ে বিভিন্ন ধরনের workflow ব্যবহার করা যায়।

1. Centralized Workflow

সবাই একটি central repository-এর সঙ্গে কাজ করে।

Developer
   ↓
  Main
   ↑
Developer
Enter fullscreen mode Exit fullscreen mode

ছোট team-এর জন্য সহজ হতে পারে।


2. Feature Branch Workflow

প্রতিটি feature-এর জন্য আলাদা branch তৈরি করা হয়।

main
 ├── feature/login
 ├── feature/payment
 └── feature/profile
Enter fullscreen mode Exit fullscreen mode

এটি team development-এ খুব জনপ্রিয় একটি পদ্ধতি।


3. Gitflow

Gitflow-এ main, develop, feature, release, hotfix ইত্যাদি branch ব্যবহার করা হয়।

এটি structured হলেও তুলনামূলকভাবে বেশি complex।


4. Forking Workflow

বিশেষ করে open-source project-এ এটি জনপ্রিয়।

Developer মূল repository-এর একটি fork তৈরি করে নিজের repository-তে কাজ করেন এবং পরে Pull Request-এর মাধ্যমে মূল project-এ পরিবর্তন পাঠান।


🖥️ Git কি শুধু Command Line দিয়েই ব্যবহার করতে হয়?

না।

Git-এর জন্য অনেক GUI tool রয়েছে।

উদাহরণ:

  • GitHub Desktop
  • SourceTree
  • GitKraken
  • TortoiseGit
  • Git GUI

GUI দিয়ে Git-এর অনেক কাজ visually করা যায়।

তবে একজন developer হিসেবে basic Git command line জানা খুবই গুরুত্বপূর্ণ


🧩 Git শেখার জন্য আমার Recommended Roadmap

আপনি যদি Git একদম নতুন শিখছেন, তাহলে এই order অনুসরণ করতে পারেন:

🟢 Level 1 — Basic

প্রথমে শিখুন:

git init
git clone
git status
git add
git commit
git log
Enter fullscreen mode Exit fullscreen mode

🟡 Level 2 — Branching

তারপর:

git branch
git checkout
git merge
Enter fullscreen mode Exit fullscreen mode

🟠 Level 3 — Remote

এরপর:

git remote
git pull
git push
Enter fullscreen mode Exit fullscreen mode

🔴 Level 4 — Advanced

সবশেষে:

git reset
git revert
git rebase
git cherry-pick
git tag
Enter fullscreen mode Exit fullscreen mode

এভাবে ধাপে ধাপে শিখলে Git অনেক সহজ মনে হবে।


📋 Git Cheat Sheet

# Repository তৈরি
git init

# Repository clone
git clone <url>

# Status দেখা
git status

# File stage করা
git add <file>

# সব পরিবর্তন stage করা
git add .

# Commit
git commit -m "Your message"

# History দেখা
git log

# Branch তৈরি
git branch feature-name

# Branch পরিবর্তন
git checkout feature-name

# Branch merge
git merge feature-name

# Remote থেকে update
git pull

# Remote-এ push
git push

# নির্দিষ্ট commit revert
git revert <commit>

# নির্দিষ্ট commit-এ reset
git reset --hard <commit>

# Rebase
git rebase main

# নির্দিষ্ট commit নেওয়া
git cherry-pick <commit>

# Tag তৈরি
git tag -a v1.0 -m "First release"
Enter fullscreen mode Exit fullscreen mode

🎯 শেষ কথা

শুরুতে Git-এর অনেক command দেখে কঠিন মনে হতে পারে।

কিন্তু আসলে Git-এর মূল ধারণা কয়েকটি:

Edit → Add → Commit → Branch → Merge → Push → Pull

এই flow ভালোভাবে বুঝে গেলে Git-এর foundation তৈরি হয়ে যাবে।

Git শুধু code backup রাখার tool নয়। এটি একজন developer-কে organized ভাবে কাজ করতে, team-এর সঙ্গে collaborate করতে এবং project-এর history নিয়ন্ত্রণ করতে সাহায্য করে।

তাই আপনি যদি সত্যিই একজন ভালো Web Developer বা Software Developer হতে চান, তাহলে Git শেখা অবশ্যই আপনার learning journey-এর একটি গুরুত্বপূর্ণ অংশ হওয়া উচিত। 🚀


💬 আপনার কী অবস্থা?

আপনি কি Git শিখছেন?

নাকি Git-এর push, pull, branch, merge এখনো একটু confusing লাগে?

Comment করে জানাতে পারেন। 👇

Happy Coding! 💻❤️


🏷️ Tags

#git #github #webdev #programming #beginners

Top comments (0)