গিটহাব ব্যাসিকালি হোস্টিং সার্ভিস। তবে একটু স্পেশাল। কেমন স্পেশাল? হ্যাঁ ঠিক অনুমান করতে পেরেছেন, এটা গিট ভার্শন কন্ট্রোল সিস্টেমের জন্যে হোস্ট প্রোভাইড করে। আর সাথে কিছু ইউজার ইন্টারফেসও প্রোভাইড করে গিটের কাজগুলো করার জন্যে। এখন গিটহাবই একমাত্র হোস্ট প্রোভাইডার না এখানে, আরো যেমন বিটবাকেট, গিটল্যাবসহ আরো অনেক আছে। কিন্তু আমি এখানে গিটহাব হাইলাইট করেছি কারণ গিটহাবেই অনেক বড় বড় ওপেন সোর্স অনেক প্রোজেক্ট রয়েছে। তবে বিটবাকেট, গিটল্যাবও ছোটো ছোটো টীমের জন্যে অনেক ইউজফুল।
এখন এগুলোতে আমার প্রোজেক্ট হোস্ট করে কি লাভ? হ্যাঁ ঠিক, সেটাই এখন খুলে বলবো কেন আমাদের এজন্যে হোস্টিং প্রোভাইডারও লাগবে। আমাদের প্রোজেক্টে মাঝেমধ্যে একাধিক ডেভেলপার থাকে। বা টিমওয়ার্ক করলে একাধিক ডেভেলপাররা একই প্রোজেক্টের উপর কাজ করে। এখন আমরা চাইলে আমাদের প্রোজেক্টের ভার্শন কন্ট্রোল সিস্টেমসহ আমাদের বাকি টিমমেটদের সাথে শেয়ার করতে পারবো এইধরনের হোস্ট ইউজ করে, বা গিটহাব/বিটবাকেট/গিটল্যাব দিয়ে। আমার টিমমেটরাও আমার সেইম প্রোজেক্টটা পাবে, চাইলে আমার আগের ভার্শনগুলোও দেখতে পারবে, আবার চাইলে নিজেও নতুন আরেকটা ভার্শন অ্যাড করে আবার গিটহাবের মাধ্যমে শেয়ার করতে পারবে। আর আমি আবার গিটে কমান্ড দিয়ে সে ভার্শন আমার লোকাল ডিস্কে নিয়ে আসতে পারবো। এখন গিটহাবে প্রোজেক্ট এভাবে ওপেনও রাখা যায় আবার চাইলে প্রাইভেট প্রোজেক্টও রাখা যায়। গিটহাবে অনেক প্রোজেক্টের দেখবেন কয়েক হাজার ডেভেলপার কন্ট্রিবিউট করেছে একটা প্রোজেক্টে।
এখানে গিটহাবে হোস্ট করা একটা প্রোজেক্ট- রিঅ্যাক্ট এর কন্ট্রিবিউটর ১ হাজারেরও বেশী। তো গিট আর গিটহাব যুক্ত হয়ে এই ফ্লেক্সিবিলিটিটা দিয়েছে সবাইকে যাতে একটা প্রোজেক্ট যেকেউ চাইলে কন্ট্রিবিউট করতে পারে।
আর গিটের আরেকটা বড় ফিচার হচ্ছে মার্জিং। গিট অনেক স্মার্ট তাই একই ফাইলের উপর কয়েকজন ডেভেলপার কাজ করলে গিট সবার কাজগুলো সেই একটা ফাইলেই মার্জ করে ফেলতে পারে অটোম্যাটিকালি(অনেক সময় ম্যানুয়াল অ্যাপ্রোচ লাগে, তবে অনেক ইজিলি করা যায়)।
প্রসঙ্গত উল্লেখ্য, গত ৪ জুন, ২০১৮ ইং তারিখে টেক জায়ান্ট মাইক্রোসফট ৭.৫ বিলিয়ন ডলারের বিনিময়ে কিনে নেয় গিটহাবকে।
এতক্ষন আমরা গিটহাব নিয়ে আলোচনা করলাম এবার জেনে নেওয়া যাক।
গিট কী:
দ্রুত গতির ডাটা ইনটিগ্রিটি এবং ডিস্ট্রিবিউটেড সাপোর্টসহ ডিস্ট্রিবিউটেড রিভিশন কন্ট্রোলই হচ্ছে গিট (git)। ২০০৫ সালে লিনাক্স কার্নেলের জন্য লিনাস টারভাল্ডস গিট ডিজাইন এবং ডেভেলপ করেন। জিএনইউ জেনারেল পাবলিক লাইসেন্স এর অধীন লিনাক্সের মত গিটও ওপেনসোর্স এবং এখন পর্যন্ত সফটওয়্যার ডেভেলপমেন্টের জন্য সবচেয়ে জনপ্রিয় ভার্সন কন্ট্রোল সিস্টেম। দুটি জনপ্রিয় ওপেনসোর্স প্রোজেক্ট, অ্যান্ড্রয়েড এবং এক্লিপ্স ডেভেলপার টিমও গিট ব্যবহার করে।
গিট কেন ব্যবহার করা হয়
যেহেতু গিট একটি ভার্সন কন্ট্রোল সফটওয়্যার সেহেতু কোন সফটওয়ারের ভার্সন গিট এর মাধ্যমে সহজেই কন্ট্রোল করা যায়। গিট এর মাধ্যমে বিভিন্ন ডেভেলপার একই সফটওয়ারের ডেভেলপমেন্টে অংশ নিতে পারেন, পরিবর্তন করতে পারেন, এবং একজন নির্দিষ্ট ডেভেলপার সেই পরিবর্তন চূড়ান্ত করতে পারেন। যেহেতু গিট একটি ডিস্ট্রিবিউটেড ভার্সন কন্ট্রোল সিস্টেম, এটি সার্ভার হিসেবেও ব্যবহৃত হতে পারে। একটি ডেডিকেটেড গিট সার্ভার সফটওয়্যার বিভিন্ন ফিচারগুলোর মধ্যে এক্সেস কন্ট্রোল যোগ করা, ওয়েবের মাধ্যমে গিট রিপজিটরির কন্টেন্ট প্রদর্শন করা এবং একের অধিক রিপজিটরি পরিচালনা করতে সাহায্য করে। প্রাথমিকভাবে যদিও গিট লিনাক্সের জন্য ডেভেলপ করা হয়েছে, তারপরও এটা সবচেয়ে অন্যান্য অপারেটিং সিস্টেম, যেমন বিএসডি, সোলারিস, ওএস এক্স, এবং মাইক্রোসফটের উইন্ডোজও সাপোর্ট করে।
আসা করি গিট এবং গিটহাব নিয়ে আমি আপনাদের ধারনা দিতে পেরেছি। গিট নিয়ে অনেক সাইটে অনেক ভাবে বলা আছে আপনারা চাইলে গুগুলে খুজে দেখতে পারেন। আজকের জন্য এতটুকুই। পরবর্তী টিউন এর জন্য অপেক্ষা করুন ধন্যবাদ