GitHub এর হাতেখড়ি (পর্ব ৬) – Branch: কাজ আলাদা রাখা

Git ও GitHub-এর হাতেখড়ি — পর্ব ৬: Branch — কাজ আলাদা রাখা

আগের পর্বে আমরা GitHub-এ প্রথমবারের মতো push করেছি এবং local ও remote repository-কে যুক্ত করতে শিখেছি। আজকের পর্বে আমরা শিখব Git-এর অন্যতম শক্তিশালী এবং গুরুত্বপূর্ণ একটি concept — Branch

Branch কেন দরকার?

ধরো তোমার project-টি ইতিমধ্যে ভালোভাবে কাজ করছে এবং GitHub-এ live আছে। এখন তুমি একটি নতুন feature যোগ করতে চাও, কিন্তু নিশ্চিত না যে এটা ঠিকভাবে কাজ করবে কিনা। সরাসরি main branch-এ কাজ করলে, কিছু ভুল হলে পুরো project-ই নষ্ট হয়ে যেতে পারে।

এই সমস্যার সমাধান হলো Branch। Branch দিয়ে তুমি মূল code থেকে আলাদা একটি "কপি"-তে কাজ করতে পারো, আর কাজ শেষ হলে সেটাকে মূল code-এর সাথে merge করতে পারো। ততক্ষণ পর্যন্ত মূল branch (main) সম্পূর্ণ নিরাপদ থাকে।

main  ──●──●──●──────────────●──>
              \                /
               ●──●──●────────
               feature-branch

এভাবে একই সাথে একাধিক feature, bug fix বা experiment আলাদা আলাদা branch-এ চালানো যায়, একটি আরেকটির সাথে সংঘর্ষ (conflict) না করেই।

বর্তমান Branch দেখা — git branch

তোমার repository-তে বর্তমানে কোন কোন branch আছে তা দেখতে চালাও:

git branch

এই command চালালে সব branch-এর একটি list দেখাবে, আর বর্তমানে তুমি যে branch-এ আছো তার সামনে একটি * চিহ্ন দেখাবে:

* main

নতুন Branch তৈরি করা

নতুন একটি branch তৈরি করতে ব্যবহার করা হয়:

git branch feature-navbar

এই command চালালে feature-navbar নামে একটি নতুন branch তৈরি হবে, কিন্তু তুমি এখনো সেই branch-এ চলে যাওনি — এখনো main branch-এই আছো।

Branch পরিবর্তন করা — git checkout / git switch

একটি branch থেকে আরেকটি branch-এ যেতে ব্যবহার করা হয়:

git checkout feature-navbar

Git-এর নতুন version-এ এই কাজের জন্য আরও একটি সহজ command যোগ হয়েছে:

git switch feature-navbar

দুটো command-ই একই কাজ করে — branch পরিবর্তন করে। তবে git switch শুধু branch পরিবর্তনের জন্যই তৈরি হয়েছে, তাই এটি বেশি স্পষ্ট এবং নতুনদের জন্য সহজ।

Branch তৈরি ও পরিবর্তন একসাথে — git checkout -b

প্রতিবার আলাদা করে branch তৈরি করে তারপর switch না করে, একই সাথে দুটো কাজ একবারে করা যায়:

git checkout -b feature-navbar

অথবা নতুন syntax দিয়ে:

git switch -c feature-navbar

এখানে -b এবং -c উভয়ই মানে "create" — অর্থাৎ নতুন branch তৈরি করে সাথে সাথে সেখানে চলে যাওয়া।

নতুন Branch-এ কাজ করা

এখন তুমি feature-navbar branch-এ আছো। এখানে যেকোনো পরিবর্তন করলে, সেটা শুধু এই branch-কেই প্রভাবিত করবে, main branch অপরিবর্তিত থাকবে:

git add .
git commit -m "Add responsive navbar"

এই commit-টি শুধুমাত্র feature-navbar branch-এ যুক্ত হবে। এখন যদি তুমি main branch-এ ফিরে যাও, দেখবে navbar-এর পরিবর্তনটি সেখানে নেই — কারণ সেটা এখনো আলাদা branch-এই আছে।

একাধিক Branch-এ কাজ করার বাস্তব উদাহরণ

ধরো তুমি একটি website নিয়ে কাজ করছ, এবং একই সময়ে দুটো ভিন্ন কাজ করতে চাও — একটি navbar যোগ করা, আরেকটি একটি bug ঠিক করা। তাহলে তুমি এভাবে আলাদা branch ব্যবহার করতে পারো:

git switch -c feature-navbar
# navbar নিয়ে কাজ করো, commit করো

git switch main
git switch -c bugfix-login
# login bug ঠিক করো, commit করো

git switch main

এভাবে প্রতিটি কাজ সম্পূর্ণ আলাদা এবং পরিষ্কারভাবে organize থাকে, একটি আরেকটির সাথে মিশে যায় না।

Branch-এর নাম দেওয়ার ভালো অভ্যাস

Branch-এর নাম দেখেই যেন বোঝা যায় সেখানে কী কাজ হচ্ছে। কিছু জনপ্রিয় convention:

feature/navbar        → নতুন feature
bugfix/login-error    → bug সমাধান
hotfix/security-patch → জরুরি সমাধান
docs/update-readme    → documentation পরিবর্তন

Branch মুছে ফেলা

কোনো branch-এর কাজ শেষ হয়ে গেলে এবং সেটা আর দরকার না হলে, branch-টি মুছে ফেলা যায়:

git branch -d feature-navbar

মনে রাখবে, একটি branch মুছে ফেলার আগে সেটি main-এর সাথে merge করা উচিত, নাহলে সেই branch-এর কাজ হারিয়ে যেতে পারে। merge না করা কোনো branch জোর করে মুছতে চাইলে -D (capital D) ব্যবহার করতে হয়।

আজকের কমান্ডগুলো এক নজরে

git branch                   → সব branch দেখা
git branch নাম                → নতুন branch তৈরি
git checkout নাম              → branch পরিবর্তন
git switch নাম                → branch পরিবর্তন (নতুন পদ্ধতি)
git checkout -b নাম           → তৈরি ও পরিবর্তন একসাথে
git switch -c নাম             → তৈরি ও পরিবর্তন একসাথে (নতুন)
git branch -d নাম             → branch মুছে ফেলা

Practice Task

এখন নিজে হাতে নিচের কাজগুলো করে দেখো:

  1. git branch চালিয়ে দেখো তোমার বর্তমান branch কোনটি।
  2. git switch -c feature-test দিয়ে একটি নতুন branch তৈরি করে সেখানে যাও।
  3. একটি file পরিবর্তন করে commit করো।
  4. git switch main দিয়ে main branch-এ ফিরে গিয়ে দেখো পরিবর্তনটি সেখানে নেই।
  5. আবার feature branch-এ ফিরে গিয়ে নিশ্চিত হও যে পরিবর্তনটি এখনো সেখানে আছে।

আজ আমরা শিখলাম কীভাবে branch তৈরি করতে হয়, একটি থেকে আরেকটিতে সুইচ করতে হয়, এবং একাধিক কাজ আলাদা আলাদা branch-এ পরিচালনা করতে হয়। পরের পর্বে আমরা শিখব কীভাবে একটি branch-এর কাজ main branch-এর সাথে merge করতে হয়, এবং merge conflict হলে সেটা কীভাবে সমাধান করতে হয়।

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

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

যোগাযোগ ফর্ম