সংস্করণ নিয়ন্ত্রণ ব্যবস্থা 70 এর দশকে তাদের গ্রহণের পর থেকে সফ্টওয়্যার বিকাশের উপর গভীর প্রভাব ফেলেছে।
সফ্টওয়্যার ডেভেলপমেন্টে ভার্সন কন্ট্রোল সিস্টেম (ভিসিএস) ব্যবহার করা অপরিহার্য হয়ে উঠেছে এবং সেই কারণেই 70% সফ্টওয়্যার ডেভেলপমেন্ট দল তাদের সংস্করণের প্রয়োজনের জন্য গিটের মতো একটি ভিসিএস ব্যবহার করে।
যদি তা যথেষ্ট না হয়, সাম্প্রতিক বছরগুলিতে দত্তক নেওয়ার ক্ষেত্রে একটি স্থির বৃদ্ধি অব্যাহত রয়েছে কারণ এই সিস্টেমগুলি কোড পরিচালনার পাশাপাশি কোডের গুণমান এবং নির্ভুলতা উভয়ই উন্নত করে।
এই সুবিধাগুলি বহুল আলোচিত DevOps দর্শনের জন্য কতটা গুরুত্বপূর্ণ তা বিবেচনা করে, এতে অবাক হওয়ার কিছু নেই যে আধুনিক সফ্টওয়্যার বিকাশে সংস্করণ নিয়ন্ত্রণ ব্যবস্থা আরও বেশি গুরুত্বপূর্ণ হয়ে উঠেছে।
এমনকি যদি সফ্টওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (SDLC) এখন কিছু সময়ের জন্য আধিপত্য ধরে রাখে, সেখানে উদীয়মান দর্শন রয়েছে যা সংক্ষিপ্ত সময়ের সাথে অ্যাপ্লিকেশন এবং পরিষেবাগুলি সরবরাহ করার প্রতিশ্রুতি দেয়।
এরকম একটি দর্শন হল DevOps: অনুশীলনের একটি সেট যা প্রথাগত সফ্টওয়্যার ডেভেলপমেন্টের বাইরে গিয়ে একটি পণ্যের সময়-মার্কে ত্বরান্বিত করার উদ্দেশ্যে এবং ফলস্বরূপ, গ্রাহকদের দক্ষতার সাথে পরিবেশন করে। বিশেষ করে, অটোমেশন এবং স্ট্রীমলাইনিংয়ের উপর ফোকাস রয়েছে যা এর অনুশীলনকারীদের দ্রুত সফ্টওয়্যার তৈরি করতে সহায়তা করবে।
যখন এই ধরনের সফ্টওয়্যার উন্নয়ন পদ্ধতির প্রয়োগের কথা আসে, তখন উভয় ডেভেলপমেন্ট এবং অপারেশন দলই যত দ্রুত সম্ভব নিরাপদ, বৈশিষ্ট্য-সমৃদ্ধ সফ্টওয়্যার তৈরির প্রচেষ্টার জন্য সহযোগিতা করে এবং দায়িত্ব ভাগ করে নেয়। অবশ্যই, DevOps দলগুলি প্রকৃত ব্যবহারকারীদের কী প্রয়োজন তা পরীক্ষা করে এবং তাদের দ্রুত, ক্রমবর্ধমান আপডেটগুলিতে এই বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে।
সামগ্রিকভাবে, সাইলোতে কাজ করা দলগুলির এই পুরানো ব্যবসাটি শেষ হয়ে গেছে, একটি নতুন সেট সরঞ্জাম ব্যবহার করার জন্য ধন্যবাদ যা ভাগাভাগি এবং সহযোগিতায় সহায়তা করে। এই সরঞ্জামগুলির সাথে দ্রুত যোগাযোগ করতে এবং প্রতিক্রিয়া জানাতে সক্ষম হওয়ার জন্য, উল্লিখিত সফ্টওয়্যার পণ্যের একটি ত্বরান্বিত সময়-টু-মার্কেট অর্জনযোগ্য, যা DevOps দর্শনকে গ্রহণ করা বাঞ্ছনীয় করে তোলে।
DevOps টুলগুলির কথা বললে, Git এর মত একটি সংস্করণ নিয়ন্ত্রণ সিস্টেম (VCS) ব্যবহার করা সম্ভবত সবচেয়ে বেশি চাওয়া-পাওয়া। বিশেষ করে যখন থেকে DevOps সফ্টওয়্যার বিকাশে একটি বিশিষ্ট ভূমিকা পালন করতে শুরু করেছে।
আপনি ইতিমধ্যে জানেন, একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা - অনেকটা গিট-এর মতো - আপনার কোড এবং প্রকল্পের শুরু থেকে সংঘটিত সমস্ত পরিবর্তনগুলি পরিচালনা করার জন্য দায়ী। অন্য কথায়, আপনার কোডের একটি সম্পূর্ণ ইতিহাস রক্ষণাবেক্ষণ করা হয়, কোনো ম্যানুয়াল ম্যানেজমেন্টকে সম্পূর্ণভাবে এড়িয়ে যায়।
আপনি যখন এই ধরনের একটি সোর্স কোড ম্যানেজমেন্ট টুল ব্যবহার করেন, তখন আপনি করা পরিবর্তনগুলি, টাইমস্ট্যাম্পে যে পরিবর্তনটি করা হয়েছিল এবং যে ব্যক্তি এই ধরনের পরিবর্তন করেছেন সে সম্পর্কে তথ্য পাবেন৷ প্রজেক্ট সোর্স কোডের সমস্ত সংস্করণ পরিচালনা করার ক্ষেত্রে একটি VCS কতটা পুঙ্খানুপুঙ্খভাবে কাজ করে তা বিবেচনা করে, দুর্ঘটনাজনিত পরিবর্তনের কোন সুযোগ নেই। তবুও আরও গুরুত্বপূর্ণ, একটি ভাল 'মেইনলাইন' বজায় রাখার জন্য উল্লিখিত প্রকল্পে শাখা তৈরি এবং একীভূত করার সময় দলগুলি একই সাথে প্রকল্পগুলিতে কাজ করতে পারে।
DevOps পদ্ধতির বিষয়ে, একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা স্বয়ংক্রিয় পদ্ধতিতে ফাইলগুলি পরিচালনা এবং ট্র্যাক করার ক্ষমতার মাধ্যমে সহযোগিতা এবং ভাগ করা প্রতিক্রিয়া সমর্থন করে। আপনার টিম সোর্স কোডটি দেখতে পায় কারণ এটিকে সর্বাধিক দৃশ্যমানতার সাথে অ্যাক্সেস করার জন্য সকলের জন্য একটি স্থানে রাখা হয়: সমস্ত দলের সদস্যরা দেখতে পারে কে কোন ফাইলগুলিতে কাজ করছে যাতে ডুপ্লিকেশনও না ঘটে।**
দুটি ধরণের সংস্করণ নিয়ন্ত্রণ ব্যবস্থা রয়েছে - বিতরণ করা এবং কেন্দ্রীভূত। যদিও পূর্ববর্তী প্রতিটি ব্যবহারকারীকে তাদের স্থানীয় মেশিনে একটি অনুলিপি সংরক্ষণ করার অনুমতি দেয়, পরবর্তীটি ব্যবহারকারীদের একটি কেন্দ্রীয় সার্ভারে অ্যাক্সেস দেয়। যখন বিতরণ করা সংস্করণ নিয়ন্ত্রণ সরঞ্জামের কথা আসে, বেশিরভাগ সফ্টওয়্যার বিকাশ দল গিট ব্যবহার করে।
লিনাস টরভাল্ডস দ্বারা রচিত, লিনাক্স কার্নেলের বিকাশের ট্র্যাক রাখার জন্য গিট প্রথম 2005 সালে ব্যবহারের জন্য প্রকাশিত হয়েছিল।
ওপেন সোর্স সফ্টওয়্যার হওয়ার কারণে, আপনার সিস্টেমে যে অপারেটিং সিস্টেমটি চলছে তার উপর ভিত্তি করে ওয়েবসাইট থেকে গিট ডাউনলোড করা যেতে পারে। হ্যাঁ, এর মধ্যে উইন্ডোজও রয়েছে!
একবার আপনি আপনার সিস্টেমে গিট ইন্সটল করলে, দুটি উপায় আছে যার মাধ্যমে আপনি এই VCS ব্যবহার করতে পারেন: টার্মিনাল বা GUI ব্যবহার করে। গিটকে আরও ব্যবহারকারী-বান্ধব করার জন্য বেশ কয়েকটি GUI ডিজাইন করা হয়েছে তবে টার্মিনাল ব্যবহার করা সর্বদা পছন্দের পদ্ধতি।
যার কথা বলতে গেলে, গিট ইনস্টল করার পরে আপনাকে যে প্রথম কমান্ডটি ব্যবহার করতে হবে তা হল এটি আপনার সিস্টেমে উপলব্ধ কিনা তা পরীক্ষা করা:
উপরন্তু, আপনি যদি আপনার প্রকল্পগুলির একটি সংস্করণ নিয়ন্ত্রণ করতে চান তবে আপনাকে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে একটি প্রকল্প ডিরেক্টরি তৈরি করতে এবং নেভিগেট করতে হবে:
একবার আপনি একটি প্রকল্প তৈরি করার পরে, এটি একটি গিট সংগ্রহস্থল তৈরি করার সময় যা নিম্নলিখিত কমান্ডটি চালিয়ে সমস্ত উত্স কোড পরিবর্তনগুলি ট্র্যাক করবে:
এখন, একবার আপনি এটি সম্পন্ন করার পরে, সাধারণ গিট কমান্ড রয়েছে যা আপনি আপনার প্রকল্পগুলিতে সোর্স কোড লেখার সময় ব্যবহার করবেন এবং যা পরবর্তীতে অন্বেষণের জন্য মূল্যবান৷**
আমরা আগে আলোচনা করেছি, বেশিরভাগ বিকাশকারীরা গিট ব্যবহার করে কারণ এটি আধুনিক সফ্টওয়্যার বিকাশে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে।
সুতরাং, আপনি যদি আপনার কোডিং প্রকল্পগুলির জন্য সংস্করণকে গুরুত্বপূর্ণ মনে করেন, এখানে 5টি সাধারণ গিট কমান্ড রয়েছে যা প্রতিটি বিকাশকারীকে অবশ্যই পরিচিত হতে হবে:
নাম অনুসারে, এই কমান্ড কনফিগারেশন বিকল্পগুলি সেট করে, হয় বিশ্বব্যাপী অর্থে বা একটি রেপোর জন্য।
এই কমান্ডের জন্য দুটি সাধারণ ব্যবহার ব্যবহারকারীর নাম এবং ইমেল ঠিকানা সেট করা অন্তর্ভুক্ত:
আপনি নীচের আউটপুট থেকে দেখতে পাচ্ছেন, git status কমান্ড আপনাকে স্টেজিং এরিয়া এবং কাজের ডিরেক্টরি সম্পর্কে তথ্য সরবরাহ করে। বিশেষ করে, আপনি করা পরিবর্তনগুলি দেখতে পাবেন এবং সেই ফাইলগুলিও দেখতে পাবেন যা Git এখনও ট্র্যাক করছে না।
আপনি যখন এই কমান্ডটি চালাবেন, আপনি কাজের ডিরেক্টরি থেকে স্টেজিং এলাকায় পরিবর্তনগুলি যোগ করবেন। আপনি যা করছেন তা হল গিটকে বলছে যে আপনি কমিট কমান্ড চালানোর সময় একটি ফাইলে পরিবর্তন করতে চান।
** **
এই কমিট কমান্ড আপনাকে স্টেজড এলাকায় করা সমস্ত পরিবর্তনগুলি সংরক্ষণ করতে সাহায্য করবে এবং এটিকে প্রকল্পের একটি 'নিরাপদ' সংস্করণ হিসাবে বিবেচনা করা হয় কারণ পরিবর্তনগুলি প্রথমে যোগ করা হয় যখন কমিট কমান্ড নিশ্চিত করে যে এই পরিবর্তনগুলি স্থানীয় রেপোতে সংরক্ষণ করা হয়েছে।
এই কমান্ডটি বিকাশকারীকে একটি প্রকল্পের নির্দিষ্ট ইতিহাস দেখার ক্ষমতা প্রদান করে যাতে প্রকল্পের একটি নির্দিষ্ট সংস্করণ খুঁজে পাওয়া যায়। এই অনুসন্ধান পরিমার্জিত করার জন্য বেশ কিছু যুক্তি যোগ করা যেতে পারে।
এখন, গিথুবের উল্লেখ না করা ঠিক হবে না যেহেতু এটি সমস্ত গিট রিপোজিটরি অনলাইনে হোস্ট করে তাই বিকাশকারীদের মধ্যে সহযোগিতা আরও সহজ করা হয়। একজন বিকাশকারী হিসাবে, আরও তিনটি আকর্ষণীয় কমান্ড রয়েছে যা আপনি শিখতে পারেন এবং এটি Github-এ হোস্ট করা কোডের সাথে কাজ করে: git push, git pull এবং git ক্লোন।
আপনি কি শিখছেন মত?
Web3 বিশ্বে এই দক্ষতা প্রয়োগ করতে চান?
লুমোস একাডেমি - একটি ওয়েব3 শিক্ষা প্ল্যাটফর্ম যা আপনাকে ব্যাপক পাঠ্যক্রম সহ ব্লকচেইন উন্নয়ন ধারণা শেখানোর জন্য নিবেদিত।
একবার দেখুন এবং শেখার বক্ররেখায় এগিয়ে যান: https://academy.lumoslabs.co/