গিট কি?
সহজ ভাষায় বলতে গেলে
ধরো তুমি একটা প্রোজেক্ট করছো। কোড লিখছো, ফাইল বানাচ্ছো। একদিন কিছু চেইঞ্জ করলে, কিন্তু পরে দেখলে আগেরটাই ভালো ছিলো। এখন কি করবে? আগের ভার্শনে কিভাবে যাবে?
অনেকে কি করে জানো? ফোল্ডারের নাম দেয় এরকম:
my-project
my-project-final
my-project-final-2
my-project-REAL-final
my-project-LAST-final-DONE
হাসি পাচ্ছে? কিন্তু আমরা সবাই এটা করেছি! 😄
গিট (Git) হলো এই সমস্যার সমাধান। গিট হলো একটা ভার্শন কন্ট্রোল সিস্টেম (Version Control System)। মানে এটা তোমার প্রোজেক্টের প্রতিটা ভার্শন মনে রাখে। তুমি যখন খুশি আগের যেকোনো ভার্শনে ফিরে যেতে পারো।
একটা রিয়েল লাইফ উদাহরণ
ধরো তুমি একটা গল্প লিখছো:
- প্রথমে লিখলে চ্যাপ্টার ১ — গিটে সেভ করলে (এটাকে বলে কমিট)
- তারপর চ্যাপ্টার ২ লিখলে — আবার কমিট করলে
- এখন চ্যাপ্টার ২ এর কিছু অংশ মুছে দিলে
- হঠাৎ মনে হলো — আগেরটাই ভালো ছিলো
গিট থাকলে তুমি সহজেই বলতে পারবে — “ভাই, আমাকে চ্যাপ্টার ২ এর আগের ভার্শনটা দাও।” ব্যস, গিট তোমাকে সেটা ফিরিয়ে দেবে!
গিট কি কি করতে পারে?
| কাজ | গিট দিয়ে কি হয় |
|---|---|
| ভার্শন ট্র্যাক করা | প্রতিটা চেইঞ্জের হিস্ট্রি থাকে |
| আগের ভার্শনে যাওয়া | যেকোনো সময়ে পুরানো ভার্শনে ফেরত যাওয়া যায় |
| টিমে কাজ করা | অনেকজন একসাথে একই প্রোজেক্টে কাজ করতে পারে |
| ভুল ঠিক করা | কিছু ভুল হলে সহজেই আগের অবস্থায় ফিরে যাওয়া যায় |
| ব্রাঞ্চ তৈরি করা | মূল কোড না ছুঁয়ে আলাদা ফিচারে কাজ করা যায় |
গিট কে বানিয়েছে?
গিট বানিয়েছেন লিনাস টোরভাল্ডস (Linus Torvalds) — হ্যাঁ, ঐ মানুষটাই যিনি লিনাক্স (Linux) অপারেটিং সিস্টেম বানিয়েছেন। ২০০৫ সালে উনি গিট বানান, কারণ লিনাক্স প্রোজেক্টের কোড ম্যানেজ করার জন্য একটা ভালো টুল দরকার ছিলো।
গিট কি শুধু প্রোগ্রামারদের জন্য?
মূলত হ্যাঁ, গিট প্রোগ্রামারদের জন্যই বানানো হয়েছে। কিন্তু যেকোনো ফাইলের ভার্শন কন্ট্রোল করতে গিট ব্যবহার করা যায় — লেখালেখি, ডকুমেন্টেশন, এমনকি এই বইটাও গিট দিয়ে ম্যানেজ করা হচ্ছে!
মনে রাখো
গিট = তোমার প্রোজেক্টের টাইম মেশিন। যেকোনো সময়ে আগের যেকোনো পয়েন্টে ফিরে যেতে পারবে।
পরের পেজে জানবো — গিটহাব কি, আর গিটের সাথে এটার সম্পর্ক কি।