text: গিট (ইংরেজি: git, ) হল একটি ডিস্ট্রিবিউটেড সংস্করণ নিয়ন্ত্রণ (version control) পদ্ধতি যা প্রধানত প্রোগ্রামিং প্রকল্পের সোর্স কোডের পরিবর্তন সংরক্ষণে ব্যবহার করা হয়। এটি প্রোগ্রামারদের মধ্যে কাজের সমন্বয় করার উদ্দেশ্যে তৈরি হলেও যেকোন ধরনের কম্পিউটার ফাইলের পরিবর্তন রক্ষায় ব্যবহার করায় কোন বাধা নেই। গিটের লক্ষ্যসমূহ হল দ্রুতগতি, তথ্যের বিশুদ্ধতা, এবং ডিস্ট্রিবিউটেড জটিল বহুমাত্রিক প্রকল্পের সমর্থন।
  
  লিনাস টরভাল্ড্‌স লিনাক্স কার্নেল প্রোগ্রামিংয়ে সুবিধার জন্য ২০০৫ সালে গিট তৈরি শুরু করেন, এবং অন্যান্য কার্নেল ডেভেলপাররা তাকে প্রারম্ভিক সহায়তা দেন। বর্তমানে এর তত্ত্বাবধায়ক হিসেবে রয়েছেন জুনিও হামানো।
  
  কম্পিউটারে অবস্থিত প্রতিটি গিট ডিরেক্টরি একেকটি পুরোপুরি স্বয়ংসম্পূর্ণ রিপজিটরি (repository) বা সোর্সভাণ্ডার, এবং কোন ধরনের কেন্দ্রীয় সার্ভারের নিয়ন্ত্রণমুক্ত।
  
  গ্নু সাধারণ সার্বজনীন লাইসেন্স, ২য় সংস্করণ (GPLv2) এর আওতায় ফ্রি এবং ওপেন সোর্স সফটওয়্যার হিসেবে গিট প্রকাশিত হয়।
  
  ইতিহাস 
  ২০০৫ সালের শুরুতে লিনাক্স কার্নেলের সোর্স কোড বিটকিপার নামক একটি বাণিজ্যিক ভার্শন কন্ট্রোল ব্যবস্থায় সংরক্ষণ করা হত। কিন্তু বিটকিপারের স্বত্বাধিকারী ল্যারি ম্যাকঅ্যাভয় দাবি করেন কার্নেল ডেভলপার অ্যান্ড্রু ট্রিজেল বিটকিপারের প্রটোকল রিভার্স-ইঞ্জিনিয়ারিং করেছেন, এবং কার্নেলের কাজে সফটওয়্যারটির বিনামূল্য ব্যবহারের অনুমতি উঠিয়ে নেন। এর ফলশ্রুতিতে ২০০৫ এর এপ্রিলে বিটকিপারকে প্রতিস্থাপন করার জন্য লিনাস টরভাল্ড‌্সের নেতৃত্বে গিট ডেভলপ করা শুরু হয়।
  
  টরভাল্ড‌্স যেসব বৈশিষ্ট্য আশা করছিলেন, তা তৎকালীন কোন ভার্শন কন্ট্রোল পদ্ধতিতেই উপস্থিত ছিল না। যেমন, সেসব পদ্ধতিতে সোর্স কোডে প্যাচ প্রয়োগ করতে প্রায় ৩০ সেকেন্ড সময় লাগত, উপরন্তু লিনাক্স কার্নেলের বিস্তৃত সোর্স কোডে এই সময়ের পরিমাণ আরও অণেক গুণ বেড়ে যেত। কিন্তু টরভাল্ড‌্স এক্ষেত্রে ৩ সেকেন্ডের বেশি সময় দিতে রাজি ছিলেন না। এছাড়া তিনি আরও কয়েকটি লক্ষ্য নির্ধারণ করেন:
  
   সিভিএস থেকে কি করা উচিত নয়, তা শেখা; কোন বিষয়ে সন্দেহ হলে সিভিএস যা করে তার ঠিক উল্টো পথ বাছাই করা
   ডিস্ট্রিবিউটেড কার্যপদ্ধতির সমর্থন
   তথ্যের বিকৃতি (অনৈচ্ছিক বা ইচ্ছাকৃত যেমনটাই হোক) ব্যহত করার জন্য খুব কঠোর ব্যবস্থা রাখা
  
  এসব লক্ষ্য পূরণ করার মত কোন ব্যবস্থা না পেয়ে, লিনাক্স কার্নেল ২.৬.১২-rc২ সংস্করণ প্রকাশের পর টরভাল্ড‌্স নিজেই এধরনের একটি সফটওয়্যার লিখতে বসেন।
  
  ২০০৫ এর ৩ এপ্রিল গিট ডেভলপ করা শুরু হয়। টরভাল্ড‌্স ৬ তারিখে প্রকল্পটি প্রকাশ করেন। ৭ এপ্রিল গিট স্ব-আশ্রিত হয় (অর্থাৎ গিটের সোর্স কোড গিট দ্বারাই সংরক্ষণ করা শুরু হয়)। ২০০৫ এর ১৬ জুন প্রকাশিত লিনাক্স কার্নেল ২.৬.১২ ছিল গিটের ব্যবস্থাপনাধীনে মুক্তিপ্রাপ্ত প্রথম সংস্করণ।
  
  ২০০৫ এর ২৬ জুলাই টরভাল্ড‌্স গিটের তত্ত্বাবধায়নের দায়িত্ব প্রকল্পটির অন্যতম অবদানকারী জুনিও হামানোকে দিয়ে দেন। হামানো ২০০৫ সালের ২১ ডিসেম্বর গিট ১.০ সংস্করণ প্রকাশ করেন। এখনও তিনি গিটের তত্ত্বাবধায়নের দায়িত্বে রয়েছেন।
  
  নাম 
  ব্রিটিশ ইংরেজি অপভাষায় গিট বলতে বিরক্তিকর লোক বোঝায়। টরভালড‌্স শ্লেষ্মাত্বকভাবে নামটির সম্পর্কে বলেছেন, "আমি মহা অহংকারী লোক, তাই সব প্রজেক্টের নাম নিজের নামেই দিই, প্রথমে 'লিনাক্স', এবার 'গিট'."। গিটের ম্যান পেজ বর্ণনা করে এভাবে: "দ্য স্টুপিড কনটেন্ট ট্র্যাকার"। সোর্স কোডের রিডমি ফাইল আরও বিস্তারিতভাবে বলে:
  
  উল্লেখ্য, এখানে "global information tracker" এবং "goddamn idiotic truckload of sh*t" বাক্যদুটি সংক্ষিপ্ত রূপ "git" হতে পারে।
  
  বৈশিষ্ট্য
  গিটের নকশার অনুপ্রেরণা ছিল বিটকিপার এবং মোনোটোন। গিট প্রথমদিকে তৈরি করা হয়েছিল নিজস্ব ফ্রন্ট-এন্ড বিহীন ভার্সন-কন্ট্রোল ইঞ্জিন হিসাবে। তবে প্রকল্পটি পরে স্বয়ংসম্পূর্ণ হয়ে উঠেছে, এবং কোন বাহ্যিক ফ্রন্ট-এন্ড ছাড়াই ব্যবহার করা যায়। টরভাল্ড‌্স ইচ্ছা করেই সংস্করণ-নিয়ন্ত্রণ প্রকল্পসমূহের প্রচলিত বিধিমালা এড়িয়ে গেছেন, ফলে গিট একটি অনন্য নকশা অর্জন করেছে।
  
  লিনাক্স কার্নেল তৈরির অভিজ্ঞতাকে টরভাল্ড‌্স গিটে প্রয়োগ করেছেন, যা প্রকল্পটির প্রধান কিছু বৈশিষ্ট্য এবং অনন্যতার উৎস। গিটের মৌলিক কিছু বৈশিষ্ট্য হল:
  
   অরৈখিক বহুমাত্রিক ডেভলপমেন্ট প্রণালীর সমর্থন
   ডিস্ট্রিবিউটেড কার্যপ্রণালী
   বিদ্যমান প্রোটোকল ও যোগাযোগ পদ্ধতির সমর্থন
   বৃহদাকার প্রকল্পের দ্রুতগতির কর্মক্ষম ব্যবস্থাপনা
   প্রকল্পের ইতিহাসের ক্রিপ্টোগ্রাফিক নিশ্চয়তা
   টুলকিট-নির্ভর নকশা কাঠামো
   সম্প্রসারণযোগ্য মার্জ (সম্মিলন) পদ্ধতি
   স্বয়ংক্রিয় বর্জ্য ব্যবস্থাপনা
   স্বয়ংক্রিয় অবজেক্ট সংকোচন
   প্রকল্পের ফাইলসমূহ ডিরেক্টরি স্ন্যাপশট প্রক্রিয়ায় সংরক্ষণ
  
  বাস্তবায়ন
  
  গিট মূলত লিনাক্সে ডেভলপ করা হয়, তবে অধিকাংশ প্রচলিত অপারেটিং সিস্টেম সমর্থন করে।
  
  প্রথম দিকে উইন্ডোজের জন্য তৈরি গিট প্যাকেজটি ছিল প্রকৃতপক্ষে মিনজিডব্লিউ (MinGW) এবং এমসিস২.০ (সিগউইন এর একটি ফর্ক) এর সমন্বয়ে গঠিত একটি গ্নু/লিনাক্স এমুলেশন ফ্রেমওয়ার্ক। বর্তমানে উইন্ডোজের জন্য ন্যাটিভ ৬৪- এবং ৩২-বিটের গিট প্যাকেজ সরবরাহ করা হয় (যদিও এর সঙ্গেও আগের মতই বিভিন্ন সহায়ক গ্নু প্রোগ্রাম অন্তর্ভুক্ত করা থাকে)।
  
  জেগিট (JGit) জাভায় বাস্তবায়িত গিট লাইব্রেরি যা যেকোন জাভা অ্যাপ্লিকেশনে যুক্ত করা যায়। এটি গেরিট এবং ইগিট প্রকল্পদুটির সাহায্যে গঠিত।
  
  গো-গিট হল বিশুদ্ধ গো ভাষায় লিখিত গিটের একটি রূপ। এটি বর্তমানে গিট রিপজিটরির এসকিউএল ইন্টারফেস হিসেবে ব্যবহার করা যায় এবং গিট কর্মপ্রণালী এনক্রিপ্ট করতে পারে।
  
  পাইথন ২ এবং ৩ শাখার জন্য ডালউইচ নামে গিট সংস্করণ বাস্তবায়িত হয়েছে।
  
  গিটের আনসি সি সফটওয়্যার লাইব্রেরি রূপ হিসেবে তৈরি হয়েছে লিবগিট২ (libgit2), যা একাধিক প্লাটফর্মের জন্য বিল্ড করা যায়, এবং রুবি, পাইথন, হাস্কেল সহ আরও কিছু ভাষায় ব্যবহার করার সুবিধা (binding) রয়েছে।
  
  জেএস-গিট হচ্ছে জাভাস্ক্রিপ্টে লেখা গিটের অংশবিশেষের বাস্তবায়ন।
  
  প্রচলন 
  এক্লিপ্স ফাউন্ডেশন ২০১৪ সালের বার্ষিক গণজরিপের প্রতিবেদনে প্রকাশ করে যে, জরিপে অংশগ্রহণকারী পেশাদার প্রোগ্রামারদের মধ্যে সর্বাধিক ৪২.৯% গিটের ব্যবহারকারী, অর্থাৎ গিট সর্বাধিক ব্যবহৃত সংস্করণ-নিয়ন্ত্রণ ব্যবস্থা। মুক্ত-সোর্স ডিরেক্টরি ওপেন হাবও অনুরূপ প্রতিবেদন প্রকাশ করেছে। স্ট্যাক ওভারফ্লো ২০১৫ সালে থেকে তাদের বার্ষিক জরিপে ভার্সন-কন্ট্রোল সফটওয়্যার অন্তর্ভুক্ত করছে। গিট এক্ষেত্রে নিয়মিত অগ্রগণ্য স্থানে রয়েছে, এবং ২০১৮ তে ৮৭.২% এর মত গুরুতর সমর্থনও পেয়েছে। যুক্তরাজ্যের আইটি পেশার চাকরি সেবার ওয়েবসাইট itjobswatch.co.uk এর প্রতিবেদনে দেখা যায়, ২০১৬ সালে যুক্তরাজ্যে প্রোগ্রামিং পেশায় স্থায়ী চাকুরির ২৯.২৭% বিজ্ঞপ্তিতে গিট অভিজ্ঞতা চাওয়া হয়েছে এবং তার নিকটতম প্রতিদ্বন্দ্বী ছিল ১২.১৭% বিজ্ঞপ্তিতে মাইক্রোসফট টীম ফাউন্ডেশন সার্ভার।
  
  আরও দেখুন 
   গিটহাব
  
  তথ্যসূত্র
  
  বহি:সংয‌োগ 
  
   
   
  
  বিষয়শ্রেণী:ফ্রি সংস্করণ নিয়ন্ত্রণ সফটওয়্যার
  বিষয়শ্রেণী:মুক্ত সফটওয়্যার
   
  বিষয়শ্রেণী:স্ব-আশ্রিত সফটওয়্যার
  বিষয়শ্রেণী:লিনাস টরভাল্ড্‌স
  বিষয়শ্রেণী:জিপিএল লাইসেন্সবাহী সফটওয়্যার
title: গিট