Git একটি ডিস্ট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম (VCS), যা প্রোগ্রামারদের কোড পরিবর্তন ট্র্যাক করতে এবং একাধিক ডেভেলপারকে একই প্রোজেক্টে কাজ করার সুযোগ দেয়। এটি সি, সি++, পাইটন, জাভা, রুবি সহ সকল প্রোগ্রামিং ভাষার জন্য ব্যবহৃত হয়। গিট ব্যবহারের মাধ্যমে ডেভেলপাররা তাদের কোডের ইতিহাস রাখে, কোনো ত্রুটি বা ভুল থেকে ফিরে যেতে পারে এবং একাধিক ডেভেলপারের মধ্যে কোডের সমন্বয় করা সহজ হয়।
Git এর মৌলিক ধারণা
Git আপনাকে কোডের পরিবর্তন ট্র্যাক করতে সাহায্য করে এবং ডেভেলপাররা একে অপরের কোডে কাজ করার সময়ে পরিবর্তনগুলো মিশিয়ে এবং একত্রে কাজ করতে পারে। গিটের কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য হল:
- Distributed Version Control: গিট হলো একটি ডিস্ট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম, যার মানে হল যে, প্রতিটি ডেভেলপার তার ল্যাপটপ বা সার্ভারে গিট রিপোজিটরির একটি পূর্ণ কপি রাখে।
- Commit History: গিট টুলস মাধ্যমে সমস্ত কোড পরিবর্তনের ইতিহাস রাখা হয়, যাতে আপনি পূর্ববর্তী কোড ভার্সনে ফিরে যেতে পারেন।
- Branching and Merging: গিট ব্রাঞ্চিং এবং মার্জিং পদ্ধতি ব্যবহৃত করে একাধিক ডেভেলপার একটি প্রকল্পের ওপর একসাথে কাজ করতে পারেন।
Git ইনস্টলেশন
Git ইনস্টল করতে, নিচের লিংক থেকে আপনার অপারেটিং সিস্টেমের জন্য Git ডাউনলোড এবং ইনস্টল করতে পারেন:
কমান্ড লাইন থেকে Git ইনস্টল চেক করা:
git --versionএটি গিটের ভার্সন প্রদর্শন করবে এবং নিশ্চিত করবে যে গিট সঠিকভাবে ইনস্টল হয়েছে।
Git Repository তৈরি এবং ব্যবহারের পদ্ধতি
১. Git রিপোজিটরি তৈরি করা
গিট রিপোজিটরি একটি ডিরেক্টরি যা গিট দ্বারা ট্র্যাক করা হয়। একটি নতুন রিপোজিটরি তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে হবে:
git initএটি বর্তমান ডিরেক্টরিতে একটি নতুন গিট রিপোজিটরি তৈরি করবে।
২. ফাইলগুলো গিটে যুক্ত করা
একবার রিপোজিটরি তৈরি হয়ে গেলে, আপনাকে ফাইলগুলি গিটে যুক্ত করতে হবে। ফাইলগুলি স্টেজ করতে এবং কমিট করতে নিম্নলিখিত কমান্ড ব্যবহার করা হয়:
git add .এটি সমস্ত ফাইল গিটে যুক্ত করবে। নির্দিষ্ট ফাইল যুক্ত করতে, ফাইলের নাম লিখে git add <filename> ব্যবহার করা যায়।
৩. Commit করা
কোনো পরিবর্তন করলে, সেগুলো গিটের ইতিহাসে সেভ করতে commit করতে হয়। Commit করার সময় একটি বার্তা দেওয়া হয় যা বলে দেয় পরিবর্তন কী করা হয়েছে।
git commit -m "Initial commit"এখানে, "Initial commit" হলো একটি বার্তা যা ব্যাখ্যা করবে আপনি কোন পরিবর্তন করেছেন।
Git এর কিছু গুরুত্বপূর্ণ কমান্ড
git status:
রিপোজিটরির বর্তমান অবস্থা দেখতে এবং কোন ফাইল স্টেজ করা হয়েছে তা জানতে ব্যবহার করা হয়।git statusgit log:
রিপোজিটরি ইতিহাস (commit history) দেখার জন্য ব্যবহৃত হয়।git loggit diff:
পরিবর্তনগুলি দেখতে ব্যবহৃত হয়, যা আপনি add বা commit করার আগে পরিবর্তন করেছেন।git diffgit branch:
বর্তমান শাখা দেখতে বা নতুন শাখা তৈরি করতে ব্যবহৃত হয়।git branch # শাখাগুলোর তালিকা দেখাবে git branch <branch-name> # নতুন শাখা তৈরি করবেgit checkout:
একটি শাখায় সুইচ করতে বা একটি নির্দিষ্ট commit এ ফিরে যেতে ব্যবহৃত হয়।git checkout <branch-name>git merge:
এক শাখার পরিবর্তন অন্য শাখায় মার্জ করতে ব্যবহৃত হয়।git merge <branch-name>
Git Remote Repository (GitHub/GitLab/Bitbucket)
Remote Repository হলো সেই রিপোজিটরি যা সার্ভারে থাকে এবং একাধিক ডেভেলপার একে অপরের সাথে কোড শেয়ার করতে পারে। সাধারণত GitHub, GitLab, অথবা Bitbucket এ রিমোট রিপোজিটরি হোস্ট করা হয়।
১. Remote Repository যুক্ত করা
রিমোট রিপোজিটরি যুক্ত করতে নিম্নলিখিত কমান্ড ব্যবহার করা হয়:
git remote add origin <repository-URL>২. রিমোট রিপোজিটরিতে Push করা
একবার আপনি লোকাল রিপোজিটরিতে কাজ শেষ করলে, আপনাকে আপনার পরিবর্তনগুলি রিমোট রিপোজিটরিতে push করতে হবে:
git push -u origin masterএটি আপনার লোকাল পরিবর্তনগুলি রিমোট রিপোজিটরিতে পাঠাবে।
৩. রিমোট রিপোজিটরি থেকে Pull করা
আপনার রিমোট রিপোজিটরি থেকে সর্বশেষ পরিবর্তনগুলো টানতে (pull) কমান্ড ব্যবহার করা হয়:
git pull origin masterএটি রিমোট রিপোজিটরির master ব্রাঞ্চ থেকে সর্বশেষ পরিবর্তনগুলি আপনার লোকাল রিপোজিটরিতে টানবে।
Git এর সুবিধা
- Distributed Version Control: Git একটি ডিস্ট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম হওয়ায়, প্রতিটি ডেভেলপারের কাছে পুরো কোডবেসের একটি কপি থাকে। এতে আপনি ইন্টারনেট ছাড়াও কাজ করতে পারেন।
- Branching and Merging: Git এর মাধ্যমে আপনি সহজেই নতুন ব্রাঞ্চ তৈরি করতে পারেন এবং সেগুলো মার্জ করে মূল কোডবেসে ফিরিয়ে আনতে পারেন। এটি একাধিক ডেভেলপারের মধ্যে কোডের সমন্বয় সহজ করে।
- History Tracking: Git আপনাকে কোডের প্রতিটি পরিবর্তনের ইতিহাস রাখতে সহায়তা করে, যাতে প্রয়োজনে আপনি পূর্বের কোনো কমিটে ফিরে যেতে পারেন।
- Collaboration: Git এর মাধ্যমে একাধিক ডেভেলপার একই কোডবেসে একসাথে কাজ করতে পারে, এবং তারা তাদের পরিবর্তনগুলো সিঙ্ক্রোনাইজ করতে পারে।
- Fast and Efficient: Git খুব দ্রুত কাজ করে এবং এটি দক্ষভাবে ডেটা ম্যানেজ করতে পারে, যেহেতু প্রতিটি ডেভেলপারের কাছে পূর্ণ রিপোজিটরি থাকে।
সারসংক্ষেপ
- Git একটি অত্যন্ত শক্তিশালী এবং জনপ্রিয় ভার্সন কন্ট্রোল সিস্টেম যা কোডের ইতিহাস ট্র্যাক, ডেভেলপারদের মধ্যে সহযোগিতা, এবং কোডের গুণমান বজায় রাখতে সাহায্য করে।
- Git-এর মাধ্যমে আপনি কোড পরিবর্তন ট্র্যাক করতে পারেন, একাধিক ব্রাঞ্চ তৈরি করতে পারেন, এবং লোকাল ও রিমোট রিপোজিটরি ব্যবহারের মাধ্যমে একাধিক ডেভেলপারদের মধ্যে কোড শেয়ার করতে পারেন।
- GitHub, GitLab, এবং Bitbucket হল জনপ্রিয় Git হোস্টিং প্ল্যাটফর্ম যেখানে রিমোট রিপোজিটরি হোস্ট করা হয়।
Git আপনার ডেভেলপমেন্ট প্রক্রিয়াকে আরো সহজ, নিরাপদ এবং সুষ্ঠু করতে সাহায্য করবে।
Read more