এতদিন আমরা 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 (চূড়ান্ত)
এই সিরিজের সবচেয়ে গুরুত্বপূর্ণ অনুশীলন—
- উপরের সম্পূর্ণ mini project ধাপে ধাপে নিজে করো।
- কমপক্ষে ২টি আলাদা branch তৈরি করে সেখানে আলাদা feature যোগ করো এবং merge করো।
- নিজের repository-তে একটি GitHub Issue তৈরি করে সেটা একটি PR দিয়ে সমাধান করো (Fixes #নম্বর ব্যবহার করে)।
- কোনো একটি ছোট open source project খুঁজে বের করে সেটা fork করে দেখো (contribution না করলেও শুধু workflow বোঝার জন্য)।
সিরিজ শেষে
এই ৮ পর্বের সিরিজে আমরা শূন্য থেকে শুরু করে Git ইনস্টল, commit, branch, merge, conflict সমাধান এবং GitHub-এ collaboration পর্যন্ত পুরো journey সম্পন্ন করলাম। এখন থেকে যেকোনো project-এ কাজ করার সময় Git ব্যবহার করাটা ধীরে ধীরে অভ্যাসে পরিণত হয়ে যাবে — আর যত বেশি হাতে-কলমে অনুশীলন করবে, ততই এটি সহজ ও স্বাভাবিক মনে হবে।