Git এবং GitHub হল দুটি জনপ্রিয় টুল যা সোর্স কোড পরিচালনার জন্য ব্যবহৃত হয়। Git একটি ডিসট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম (VCS), যা কোডের ইতিহাস ট্র্যাক করতে এবং বিভিন্ন ভার্সনে পরিবর্তন করতে সহায়তা করে। GitHub হল একটি ক্লাউড ভিত্তিক প্ল্যাটফর্ম যেখানে আপনি আপনার Git রেপোজিটরি হোস্ট করতে পারেন এবং টিম সদস্যদের সাথে সহযোগিতা করতে পারেন।
এখানে, আমরা দেখব কিভাবে Git এবং GitHub ব্যবহার করে MeanJS প্রজেক্ট পরিচালনা করা যায়।
১. Git সেটআপ এবং কনফিগারেশন
প্রথমে আপনার সিস্টেমে Git ইনস্টল করতে হবে।
Git ইনস্টলেশন
- Git অফিসিয়াল ওয়েবসাইট থেকে Git ডাউনলোড করুন।
- ইনস্টলেশন সম্পন্ন করার পর, টার্মিনালে নিচের কমান্ড দিয়ে Git এর ভার্সন চেক করুন:
git --version
Git কনফিগারেশন
Git কনফিগারেশন এর মাধ্যমে আপনার নাম এবং ইমেইল সেট করা হয়, যা আপনার করা কমিটের ইতিহাসে দেখা যাবে।
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
২. Git রেপোজিটরি তৈরি করা
এখন, একটি MeanJS প্রজেক্ট তৈরি এবং সেটিকে Git দিয়ে ট্র্যাক করতে শুরু করা যাক।
প্রজেক্ট ফোল্ডার তৈরি করুন
প্রথমে আপনার MeanJS প্রজেক্ট তৈরি করুন (যদি না থাকে):
mkdir meanjs-project
cd meanjs-project
Git রেপোজিটরি ইনিশিয়ালাইজ করা
এখন, আপনার প্রজেক্ট ফোল্ডারে Git রেপোজিটরি ইনিশিয়ালাইজ করুন:
git init
এটি একটি .git ডিরেক্টরি তৈরি করবে, যা আপনার রেপোজিটরির সমস্ত তথ্য এবং ইতিহাস সংরক্ষণ করবে।
প্রথম ফাইল কমিট করা
আপনার প্রথম কোড ফাইলগুলো যোগ করুন এবং প্রথম কমিট করুন:
git add .
git commit -m "Initial commit"
এখানে git add . সমস্ত পরিবর্তিত ফাইলগুলো স্টেজ করে এবং git commit দিয়ে সেই ফাইলগুলো কমিট করা হয়।
৩. GitHub এ রেপোজিটরি তৈরি করা
এখন, আপনার GitHub অ্যাকাউন্টে একটি নতুন রেপোজিটরি তৈরি করতে হবে।
- GitHub এ লগইন করুন এবং নতুন একটি রেপোজিটরি তৈরি করুন (যেমন
meanjs-projectনামে)। - রেপোজিটরি তৈরি করার পর, আপনাকে কিছু কমান্ড দেওয়া হবে যেগুলোর মাধ্যমে আপনার লোকাল রেপোজিটরি গিটহাবে পুশ করা যাবে।
GitHub রেপোজিটরির সাথে লোকাল রেপোজিটরি যুক্ত করা
git remote add origin https://github.com/yourusername/meanjs-project.git
এখানে, yourusername এর জায়গায় আপনার GitHub ইউজারনেম এবং meanjs-project এর জায়গায় আপনার রেপোজিটরির নাম বসান।
প্রথম পুশ করা
এখন, আপনার লোকাল রেপোজিটরি থেকে GitHub এ কোড পুশ করুন:
git push -u origin master
এটি আপনার লোকাল রেপোজিটরির সব ফাইল GitHub রেপোজিটরিতে পুশ করে দিবে।
৪. GitHub থেকে MeanJS প্রজেক্ট ক্লোন করা
যদি আপনি অন্য কোনো লোকেশন বা টিম সদস্য থেকে প্রজেক্ট ক্লোন করতে চান, তবে GitHub থেকে clone করতে হবে।
প্রজেক্ট ক্লোন করা
প্রথমে, GitHub রেপোজিটরির URL কপি করুন এবং নিচের কমান্ড দিয়ে ক্লোন করুন:
git clone https://github.com/yourusername/meanjs-project.git
এটি আপনার লোকাল মেশিনে রেপোজিটরিটি ক্লোন করবে এবং আপনি প্রজেক্টের উপর কাজ শুরু করতে পারবেন।
৫. Git ব্যবহার করে MeanJS প্রজেক্টে টিম সহযোগিতা
Git এবং GitHub ব্যবহার করে আপনি টিমের সাথে সহজে সহযোগিতা করতে পারেন। এটি সাধারণত branching, merging, এবং pull requests এর মাধ্যমে কাজ করে।
Branching
প্রতিটি নতুন ফিচারের জন্য একটি নতুন ব্রাঞ্চ তৈরি করুন:
git checkout -b feature/new-feature
এটি new-feature নামে একটি নতুন ব্রাঞ্চ তৈরি করবে এবং সেই ব্রাঞ্চে চলে যাবে।
Changes Commit করা
ফিচারের উপর কাজ করার পর, সেই পরিবর্তনগুলো কমিট করুন:
git add .
git commit -m "Added new feature"
Main Branch এ Merge করা
আপনি যখন কাজ শেষ করবেন, তখন আপনার ফিচার ব্রাঞ্চটি master বা main ব্রাঞ্চে মার্জ করতে পারেন। প্রথমে master ব্রাঞ্চে চলে যান:
git checkout master
এখন, আপনার ফিচার ব্রাঞ্চ মার্জ করুন:
git merge feature/new-feature
GitHub এ Pull Request তৈরি করা
যদি আপনি একটি ওপেন সোর্স প্রকল্পে কাজ করছেন বা আপনার টিমের অন্যান্য সদস্যদের সাথে কাজ করছেন, তবে GitHub এ pull request তৈরি করা হয় যাতে অন্য সদস্যরা আপনার পরিবর্তনগুলি পর্যালোচনা করতে পারেন।
GitHub এ নতুন pull request তৈরি করতে গিয়ে আপনার পরিবর্তনগুলি আপলোড করুন এবং টিম সদস্যদের থেকে রিভিউ পান।
৬. GitHub Actions এবং CI/CD
GitHub Actions হল একটি CI/CD টুল, যা GitHub এর সাথে স্বয়ংক্রিয় বিল্ড, টেস্ট, এবং ডিপ্লয়মেন্ট কার্যক্রম চালাতে সহায়তা করে। আপনি GitHub Actions ব্যবহার করে MeanJS প্রজেক্টের জন্য অটোমেটিক বিল্ড, টেস্টিং, এবং ডিপ্লয়মেন্ট সেটআপ করতে পারেন।
GitHub Actions সেটআপ
- GitHub রিপোজিটরির
Actionsট্যাবে গিয়ে একটি নতুন workflow তৈরি করুন। - আপনি যদি Node.js অ্যাপ্লিকেশন ডিপ্লয় করতে চান, তবে এই
yamlফাইলটি ব্যবহার করুন:
name: Node.js CI
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
- name: Deploy
run: npm run deploy
এই GitHub Actions কনফিগারেশনটি আপনাকে অ্যাপ্লিকেশনটির অটোমেটিক বিল্ড, টেস্ট এবং ডিপ্লয়মেন্ট পরিচালনা করতে সাহায্য করবে।
সারাংশ
Git এবং GitHub ব্যবহার করে MeanJS প্রজেক্ট পরিচালনা করা আপনার ডেভেলপমেন্ট কাজকে আরও সহজ এবং সংগঠিত করে তোলে। আপনি Git এর মাধ্যমে কোড ট্র্যাকিং, ভার্সন কন্ট্রোল এবং টিম সহযোগিতা করতে পারবেন। GitHub এর মাধ্যমে আপনি রিমোট রেপোজিটরি হোস্ট করতে পারেন, যা টিমের অন্যান্য সদস্যদের সাথে কাজ করার জন্য খুবই উপকারী। এছাড়া, GitHub Actions এর মাধ্যমে CI/CD সেটআপ করে আপনার অ্যাপ্লিকেশনের বিল্ড এবং ডিপ্লয়মেন্ট প্রক্রিয়া স্বয়ংক্রিয় করতে পারবেন।
Read more