GitHub এর হাতেখড়ি (পর্ব ৮) – Collaboration ও Mini Project

Git ও GitHub-এর হাতেখড়ি — পর্ব ৮: Collaboration ও Mini Project

এতদিন আমরা Git-এর মূল concept-গুলো শিখেছি — repository তৈরি, commit, branch, merge, এবং GitHub-এ push/pull। আজ এই সিরিজের শেষ পর্বে আমরা শিখব কীভাবে অন্যদের project-এ collaborate করতে হয়, এবং সবশেষে একটি সম্পূর্ণ mini project হাতে-কলমে Git দিয়ে ট্র্যাক করে GitHub-এ তুলব।

Fork কী?

Fork হলো অন্য কারো GitHub repository-এর একটি সম্পূর্ণ কপি, যেটা তোমার নিজের GitHub account-এ তৈরি হয়। Open source project-এ অবদান রাখতে চাইলে, সাধারণত সরাসরি মূল repository-তে push করার অনুমতি থাকে না। তাই প্রথমে সেই repository fork করে নিজের account-এ আনতে হয়।

GitHub-এ যেকোনো repository-এর উপরের ডানদিকে Fork বাটনে ক্লিক করলেই সেটি তোমার account-এ কপি হয়ে যায়। এবার এই fork করা repository-টি তোমার নিজের, তাই এখানে তুমি যা খুশি পরিবর্তন করতে পারবে।

Fork করা Repository Clone করা

Fork করার পর সেটাকে নিজের computer-এ আনতে হবে কাজ করার জন্য:

git clone https://github.com/তোমার-username/repository-নাম.git

এই command চালালে পুরো repository (সব file ও history-সহ) তোমার computer-এ download হয়ে যাবে।

Open Source-এ Contribution-এর সাধারণ Workflow

কোনো open source project-এ অবদান রাখার সাধারণ ধাপগুলো এরকম:

1. মূল repository Fork করা
2. নিজের computer-এ Clone করা
3. একটি নতুন branch তৈরি করা
4. পরিবর্তন করে commit করা
5. নিজের fork-এ push করা
6. মূল repository-তে Pull Request পাঠানো
git switch -c fix-typo
# পরিবর্তন করো
git add .
git commit -m "Fix typo in README"
git push origin fix-typo

Pull Request পাঠানো

Branch push করার পর GitHub-এ নিজের fork করা repository-তে গেলে একটি Compare & pull request বাটন দেখতে পাবে। সেখানে ক্লিক করে—

  • একটি স্পষ্ট title দাও (কী পরিবর্তন করেছ তা বোঝা যায় এমন)
  • Description-এ বিস্তারিত লেখো — কী পরিবর্তন করেছ এবং কেন
  • প্রয়োজনে screenshot যুক্ত করো

সবশেষে Create pull request বাটনে ক্লিক করলে তোমার অনুরোধটি মূল repository-এর maintainer-এর কাছে চলে যাবে review-এর জন্য।

Code Review-এর বেসিক ধারণা

Pull Request পাঠানোর পর project maintainer বা team member সেই code review করে। Review-এর সময় সাধারণত যা হয়:

  • Code সঠিকভাবে কাজ করছে কিনা যাচাই করা
  • নির্দিষ্ট line-এ comment দিয়ে সংশোধনের পরামর্শ দেওয়া
  • Coding style বা project-এর নিয়ম মানা হয়েছে কিনা দেখা
  • সবকিছু ঠিক থাকলে PR Approve করে merge করা, অথবা আরও পরিবর্তনের জন্য অনুরোধ (Request changes) করা

টিপস: Review-এ পাওয়া feedback-কে ব্যক্তিগতভাবে না নিয়ে code উন্নত করার সুযোগ হিসেবে দেখাই ভালো — এটাই collaboration-এর মূল চেতনা।

GitHub Issues কী?

Issues হলো GitHub repository-এর একটি অংশ, যেখানে bug report করা, নতুন feature-এর প্রস্তাব দেওয়া, বা যেকোনো আলোচনা track করা যায়। প্রতিটি repository-তে Issues ট্যাবে গিয়ে New issue বাটনে ক্লিক করে একটি issue তৈরি করা যায়।

একটি ভালো issue-তে সাধারণত থাকে:

  • স্পষ্ট একটি title
  • সমস্যাটি কী তার বিস্তারিত বর্ণনা
  • Bug হলে, সেটা কীভাবে reproduce করা যায় তার ধাপ
  • Label (যেমন bug, enhancement, documentation)

Issue এবং Pull Request একসাথে যুক্ত করাও যায় — commit message বা PR description-এ Fixes #12 লিখলে, সেই PR merge হওয়ার সাথে সাথে GitHub স্বয়ংক্রিয়ভাবে #12 নম্বরের issue-টি বন্ধ (close) করে দেয়।

এখন হাতে-কলমে: Mini Project

চলো, এই সিরিজে শেখা সবকিছু একত্র করে একটি ছোট landing page project সম্পূর্ণভাবে Git দিয়ে ট্র্যাক করে GitHub-এ তুলি।

ধাপ ১: Project তৈরি ও Initialize করা

mkdir landing-page
cd landing-page
git init

ধাপ ২: প্রাথমিক File ও .gitignore তৈরি

touch index.html style.css script.js .gitignore README.md

.gitignore-এ প্রয়োজনীয় entry এবং README.md-এ project-এর বর্ণনা লিখে ফেলো (পর্ব ৪ অনুসরণ করে)।

ধাপ ৩: প্রথম Commit

git add .
git commit -m "Initial commit: project structure"

ধাপ ৪: GitHub-এ Repository তৈরি ও Push

git remote add origin https://github.com/username/landing-page.git
git push -u origin main

ধাপ ৫: আলাদা Branch-এ Feature যোগ করা

git switch -c feature/hero-section
# index.html ও style.css-এ hero section যোগ করো
git add .
git commit -m "Add hero section"
git push origin feature/hero-section

ধাপ ৬: Pull Request তৈরি করে Merge করা

GitHub-এ গিয়ে feature/hero-section branch থেকে main branch-এর দিকে একটি Pull Request তৈরি করো, description লিখে Merge pull request বাটনে ক্লিক করো।

ধাপ ৭: Local-এ পরিবর্তন Sync করা

GitHub-এ merge হওয়ার পর local main branch-কেও update করে নাও:

git switch main
git pull origin main

সম্পূর্ণ Journey-টা এক নজরে

git init              → Repository তৈরি
git add / commit      → পরিবর্তন সংরক্ষণ
git log / diff        → History দেখা
.gitignore / README   → Project গুছানো
git remote / push     → GitHub-এ তোলা
git branch / switch   → আলাদা কাজ করা
git merge             → কাজ একত্র করা
Fork / PR / Issues    → Collaboration

Practice Task (চূড়ান্ত)

এই সিরিজের সবচেয়ে গুরুত্বপূর্ণ অনুশীলন—

  1. উপরের সম্পূর্ণ mini project ধাপে ধাপে নিজে করো।
  2. কমপক্ষে ২টি আলাদা branch তৈরি করে সেখানে আলাদা feature যোগ করো এবং merge করো।
  3. নিজের repository-তে একটি GitHub Issue তৈরি করে সেটা একটি PR দিয়ে সমাধান করো (Fixes #নম্বর ব্যবহার করে)।
  4. কোনো একটি ছোট open source project খুঁজে বের করে সেটা fork করে দেখো (contribution না করলেও শুধু workflow বোঝার জন্য)।

সিরিজ শেষে

এই ৮ পর্বের সিরিজে আমরা শূন্য থেকে শুরু করে Git ইনস্টল, commit, branch, merge, conflict সমাধান এবং GitHub-এ collaboration পর্যন্ত পুরো journey সম্পন্ন করলাম। এখন থেকে যেকোনো project-এ কাজ করার সময় Git ব্যবহার করাটা ধীরে ধীরে অভ্যাসে পরিণত হয়ে যাবে — আর যত বেশি হাতে-কলমে অনুশীলন করবে, ততই এটি সহজ ও স্বাভাবিক মনে হবে।

একটি মন্তব্য পোস্ট করুন

নবীনতর পূর্বতন

যোগাযোগ ফর্ম