গিটহাব কী এবং এটি কীভাবে কাজ করে?
আপনি যদি সফটওয়্যার / ওয়েব ডেভেলপমেন্ট বা এরকম কোন প্রজেক্ট নিয়ে কাজ করে থাকেন, আপনি নিশ্চয়ই গিট এবং গিটহাবের নাম অনেকবার শুনেছেন। এবং যদি আপনি নিজে এক-জোন সফটওয়্যার / ওয়েব ডেভেলপার হয়ে থাকেন বা এই প্রকল্পগুলির মধ্যে সক্রিয়ভাবে জড়িত থাকেন, তাহলে আপনি ইতিমধ্যেই জানেন যে গিট এবং গিটহাব কী এবং কেন তাদের প্রয়োজন। সেক্ষেত্রে আপনি এই পোস্টটি এড়িয়ে যেতে পারেন। এবং যারা জানেন না তাদের জন্য, যদি আপনি এই প্ল্যাটফর্ম সম্পর্কে আরো জানতে আগ্রহী হন, তাহলে পড়তে থাকুন। যাইহোক, আসুন গিটহাব সম্পর্কে জেনে নিই।
What is Git? / গিট কি?
সংক্ষেপে, GitHub হল একটি প্ল্যাটফর্ম যা ডেভেলপারদের দ্বারা, ডেভেলপারদের জন্য এবং ডেভেলপমেন্ট প্রক্রিয়া সহজ করার উদ্দেশ্যে তৈরি করা হয়। কিন্তু গিটহাব প্ল্যাটফর্মকে পুরোপুরি বুঝতে হলে আপনাকে প্রথমে গিট (GIT) সম্পর্কে জানতে হবে। গিট হল ওপেন সোর্স সফটওয়্যারের জন্য একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা যা সেই প্রকল্পে অবদানকারী সমস্ত ডেভেলপারদের কাজকে অনেক সহজ করে তোলে। কন্ট্রোল সিস্টেমের এই সংস্করণটি সফটওয়্যার ইঞ্জিনিয়ার Linus Torvalds, দ্বারা প্রবর্তিত হয়েছিল, যিনি Linux অপারেটিং সিস্টেমের প্রতিষ্ঠাতা হিসাবে বেশি পরিচিত।
কিন্তু সংস্করণ নিয়ন্ত্রণ ব্যবস্থা কি? যখন একজন ডেভেলপার একটি ওপেন সোর্স সফটওয়্যার বা কোন প্রজেক্ট তৈরি করে, তারা ক্রমাগত তাদের প্রকল্পের সোর্স কোড পরিবর্তন করে। প্রকল্পের যেকোনো বাগ সংশোধন করতে, অথবা নতুন বৈশিষ্ট্য যোগ করার জন্য সোর্স কোডটি প্রতিবার পরিবর্তন করতে হবে। প্রকল্পের আনুষ্ঠানিক মুক্তির পরেও, নতুন সংস্করণটি প্রকাশ করার জন্য সোর্স কোড পরিবর্তন করা প্রয়োজন।
ভার্সন কন্ট্রোল সিস্টেম এই সোর্স কোড পরিবর্তন এবং আগের সোর্স কোড সংশোধন করার প্রক্রিয়া সহজ করে। সংস্করণ নিয়ন্ত্রণ ব্যবস্থা মূলত সোর্স কোডের প্রতিটি পরিবর্তন একটি কেন্দ্রীয় সংগ্রহস্থলে রাখে এবং প্রতিটি পরিবর্তনের জন্য প্রয়োজন অনুযায়ী একটি নতুন উন্নয়ন শাখা তৈরি করে। ফলস্বরূপ, যখন সেই প্রকল্পে কাজ করা অন্য সমস্ত ডেভেলপাররা প্রকল্পের উন্নয়নে যুক্ত হয়, তখন তারা পুরো প্রকল্পের একটি রোডম্যাপ বুঝতে পারে এবং সেই অনুযায়ী কাজ করতে পারে।
ডেভেলপাররা তাদের প্রজেক্টের সকল সংস্করণের জন্য শুরু থেকে শেষ পর্যন্ত সহজেই বিভিন্ন সোর্স কোড অ্যাক্সেস করতে পারে এবং তাদের ইচ্ছামতো সংশোধন করে সংশোধিত সোর্স কোড পরীক্ষা এবং আপলোড করতে পারে। প্রজেক্টে কর্মরত সকল ডেভেলপার সংস্করণ নিয়ন্ত্রণ পদ্ধতির কারণে প্রকল্পে কর্মরত অন্যান্য ডেভেলপারদের পরিবর্তনের কারণে একে অপরের সাথে দেখতে, ডাউনলোড, সংশোধন এবং সহজেই যোগাযোগ করতে পারে।
একইভাবে, আপনার / আমার মত সাধারণ মানুষ, যাদের এই প্রকল্পের উন্নয়নের সাথে কোন সম্পর্ক নেই, আমরা চাইলে এই সংস্করণ-নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করে এই প্রকল্পটি অ্যাক্সেস করতে পারি যদি আমরা চাই বা আমাদের নিজেদের প্রয়োজনে ব্যবহার করি (যদি প্রকল্পটি ওপেন সোর্স হয়)। আপনারা যারা লিনাক্স ব্যবহার করেন তারা এই সিস্টেমের সাথে পরিচিত।
যাইহোক, সাধারণত ব্যবহারকারীরা এভাবে লিনাক্সে সফটওয়্যার ইনস্টল করেন না। সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করে লিনাক্সে অ্যাপ ইনস্টল করা মূলত লিনাক্স গিকদের কাজ। যাইহোক, GIT একমাত্র সংস্করণ নিয়ন্ত্রণ ব্যবস্থা নয়। কন্ট্রোল সিস্টেমের আরো অনেক Version আছে, কিন্তু এর মধ্যে সবচেয়ে জনপ্রিয় হল Git developer এবং এর সর্বাধিক ব্যবহৃত।
What is GitHub? / গিটহাব কি?
গিটের পরে, আসুন গিটহাব জিনিসটি কী তা খুঁজে বের করি। GitHub এবং GIT একই জিনিস, কিন্তু পার্থক্য হল GIT হল একটি সম্পূর্ণ কমান্ড লাইন ভিত্তিক সিস্টেম, যাকে আমরা CLI ইন্টারফেস বলি। যাইহোক, গিটহাব নামটি আমাদের কাছে সবচেয়ে বেশি পরিচিত। গিটহাব মূলত একটি সুন্দর সংগঠিত ওয়েব ইন্টারফেসে এই গিটের সমস্ত বৈশিষ্ট্য প্রদর্শন করে।
শুধু গিটহাবের মূল বৈশিষ্ট্যই নয়, ডেভেলপারদের সংস্করণ নিয়ন্ত্রণের জন্য একটি গ্রাফিক্যাল ইউজার ইন্টারফেস ছাড়াও গিটহাবের আরও অনেক বৈশিষ্ট্য রয়েছে, যা গিটহাবকে কেবল একটি সংস্করণ-নিয়ন্ত্রক হাতিয়ারে নয়, ডেভেলপারদের জন্য একটি সামাজিক নেটওয়ার্ক রূপান্তরিত করেছে। গিটহাব, এখন টেক জায়ান্ট মাইক্রোসফটের মালিকানাধীন একটি প্ল্যাটফর্ম, ওপেন সোর্স ডেভেলপারদের আশ্রয়স্থল হিসাবে বিবেচিত হয়। আচ্ছা, এখানে GitHub এর কিছু বৈশিষ্ট্য আছে, যদি আপনি আগ্রহী হন।
GitHub Repository / গিটহাব রিপোজিটরি
আপনি হয়তো এই নামটি অনেকবার শুনেছেন। এটি প্রায়শই ছোট করে গিটহাব রিপো নামেও ডাকা হয়। এটি গিটহাবের সবচেয়ে জনপ্রিয় বৈশিষ্ট্য। একটি বিশেষ গিটহাব প্রকল্পের গিটহাব সংগ্রহস্থল যেখানে সমস্ত উন্নয়ন শাখার সমস্ত প্রয়োজনীয় সোর্স ফাইল এবং গিটহাব প্রকল্পের সমস্ত সংস্করণ আলাদাভাবে সংরক্ষণ করা হয়। মূলত, ওপেন-সোর্স প্রকল্পের সোর্স ফাইলগুলি একটি পাবলিক গিটহাব রিপোজিটরিতে সংরক্ষণ করা হয় যাতে যে কোনও ইন্টারনেট ব্যবহারকারী ফাইলগুলি ডাউনলোড এবং ব্যবহার করতে পারে। একটি ব্যক্তিগত গিটহাব সংগ্রহস্থলও রয়েছে। যাইহোক, এই সংগ্রহস্থলে বন্ধ সফটওয়্যারের সোর্স কোড সফটওয়্যার কোম্পানির কর্মচারীরা নিজেদের মধ্যে সহযোগিতার জন্য ব্যবহার করে। যাইহোক, গিটহাব রিপো-র ওপেন সোর্স সফটওয়্যারের সবচেয়ে জনপ্রিয় সংগ্রহস্থল।
Repository forking / রিপোজিটরি ফর্কিং
যখন আপনি অন্য একটি বিদ্যমান প্রকল্পের উপর ভিত্তি করে গিটহাবের উপর ভিত্তি করে একটি নতুন প্রকল্প তৈরি করেন, যদি পূর্ববর্তী প্রকল্পের সংগ্রহস্থলটি ইতিমধ্যে গিটহাবের মধ্যে থাকে, আপনার নতুন প্রকল্পটিকে রিপোজিটরি ফর্কিং বলা হয়। আপনি যদি গিটহাবের একটি সংগ্রহস্থল খুঁজে পান যা আপনি খুব পছন্দ করেন এবং আপনি এতে অবদান রাখতে চান, আপনি পুরানো সংগ্রহস্থলটি ডাউনলোড করতে পারেন এবং এটি আপনার ইচ্ছামত পরিবর্তন করতে পারেন এবং এটি একটি নতুন সংগ্রহস্থল হিসাবে ছেড়ে দিতে পারেন। একবার আপনার কাঁটাযুক্ত সংগ্রহস্থল আপডেট হয়ে গেলে, আপনি সেগুলি সহজেই আপনার প্রকল্পেও প্রয়োগ করতে পারেন।
Pool Request / পুল রিকুয়েস্ট
গিটহাবের বেশিরভাগ ওপেন-সোর্স প্রকল্প সবসময় অবদানের জন্য খোলা থাকে। আপনি যদি একটি সংগ্রহস্থল তৈরি করেন এবং মনে করেন যে আপনি কিছু দুর্দান্ত নতুন বৈশিষ্ট্য যুক্ত করেছেন, আপনি সেই প্রকল্পের মূল বিকাশকারীদের আপনার সম্পর্কে জানাতে চান বা তাদের মূল প্রকল্পে আপনার তৈরি করা নতুন জিনিসগুলি অন্তর্ভুক্ত করার কথা ভাবতে পারেন। সেই ক্ষেত্রে, একটি পুল অনুরোধ রেখে, আপনি আনুষ্ঠানিকভাবে আপনার তৈরি করা নতুন জিনিস সম্পর্কে আপনার ফর্ক করা প্রকল্পের মূল বিকাশকারীদের সাথে যোগাযোগ করতে পারেন এবং সেগুলি মূল প্রকল্পে যুক্ত করতে পারেন। গিটহাবের আরো অনেক বৈশিষ্ট্য আছে যেগুলো নিয়ে সারাদিন আলোচনা করা যায়। যাইহোক, আমি শুধুমাত্র এই 3 টি প্রধান বৈশিষ্ট্য নিয়ে আলোচনা করেছি, কারণ আমি মনে করি এটি একটি নন-ডেভেলপার বা সাধারণ ইন্টারনেট ব্যবহারকারীর GitHub সম্পর্কে যথেষ্ট জানা যথেষ্ট।
GitHub is not just for developers! / গিটহাব শুধুমাত্র ডেভেলপারদের জন্য নয়!
এখন পর্যন্ত, আপনি হয়তো মনে করছেন যে গিটহাব শুধুমাত্র ডেভেলপারদের জন্য। আপনি যদি বিকাশকারী না হন তবে আপনার কখনই গিটহাবের প্রয়োজন হবে না। হ্যা, হয়তো একজোন ডেভেলপারের যতটা দরকার পড়বে এই প্লাটফর্মটি, ততটা হয়তো আপনার দরকার পড়বে না, যাইহোক, আপনি GitHub ব্যবহার করতে পারেন শুধুমাত্র উন্নয়ন উদ্দেশ্যে নয় বরং অন্যান্য অনেক কাজেও। যদি আপনার একটি দল থাকে যারা ক্রমাগত একটি প্রকল্পে কাজ করে এবং প্রকল্পের ফাইলগুলি আপডেট করে। হয়তো এটি একটি ওয়ার্ড ডকুমেন্ট কাজ, অথবা একটি পাওয়ার পয়েন্ট উপস্থাপনা, অথবা একটি এক্সেল স্প্রেডশীট। আপনি চাইলে GitHub ব্যবহার করতে পারেন এই ধরনের যে কোন প্রজেক্টের ভার্সন নিয়ন্ত্রণ করতে, যদি আপনি চান!
সুতরাং, এটি ছিল গিট এবং গিটহাবের প্রাথমিক ধারণা। আশা করি, যদি আপনার আগে গিটহাব সম্পর্কে কোন ধারণা না থাকে, তাহলে আপনি এই পোস্ট থেকে কিছু মৌলিক ধারণা পেয়েছেন।
আজকের মত এখানেই শেষ করছি। যদি আপনার কোন প্রশ্ন বা মন্তব্য থাকে, দয়া করে Comment box-এ আমাদের জানান। এই পোস্টটি শেষ পর্যন্ত পড়ার জন্য আপনাকে অসংখ্য ধন্যবাদ।
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন
Please do not enter any spam link in the comment.