কম্পিউটার

গিট ট্যাগ

ট্যাগিং হল একটি বৈশিষ্ট্য যা একটি গিট সংগ্রহস্থলের ইতিহাসে নির্দিষ্ট পয়েন্ট ট্র্যাক রাখতে ব্যবহৃত হয়।

সময়ের সাথে সাথে, আপনি যখন একটি গিট সংগ্রহস্থলের সাথে কাজ করছেন, আপনি আপনার কোডবেসে প্রচুর পরিমাণে পরিবর্তন করবেন। গিট-এ, স্বতন্ত্র পরিবর্তনের ট্র্যাক রাখতে কমিট ব্যবহার করা হয়।

যাইহোক, আপনি যদি আপনার সংগ্রহস্থলের ইতিহাসের একটি সংস্করণ যেমন একটি সংস্করণ ক্যাপচার করতে চান তবে আপনি গিট ট্যাগিং বৈশিষ্ট্যটি ব্যবহার করতে চাইবেন।

এই টিউটোরিয়ালটি উদাহরণ সহ আলোচনা করবে, ট্যাগিংয়ের মূল বিষয়গুলি এবং কীভাবে গিট রিপোজিটরিতে ট্যাগগুলির সাথে কাজ করতে গিট ট্যাগ কমান্ডটি ব্যবহার করতে হয়। এই টিউটোরিয়ালটি পড়ার শেষে, আপনি গিটে ট্যাগগুলির সাথে কাজ করার ক্ষেত্রে একজন বিশেষজ্ঞ হয়ে উঠবেন।

গিট ট্যাগিং

ট্যাগগুলি হল রেফারেন্স (রেফ) যা একটি গিট সংগ্রহস্থলের ইতিহাসের একটি নির্দিষ্ট অংশকে নির্দেশ করে।

ট্যাগগুলি সাধারণত একটি সংস্করণ প্রকাশ তৈরি করতে একটি রেপোর ইতিহাসের একটি নির্দিষ্ট পয়েন্ট ক্যাপচার করতে বিকাশকারীরা ব্যবহার করে। উদাহরণস্বরূপ, যখন একজন বিকাশকারী একটি প্রকল্পের একটি নতুন সংস্করণ চালু করতে প্রস্তুত থাকে, তখন তারা প্রকল্পটির জন্য একটি ট্যাগ তৈরি করতে পারে।

সারমর্মে, ট্যাগগুলি এমন শাখা যা পরিবর্তিত হয় না। আপনি একটি ট্যাগ তৈরি করার পরে, ট্যাগের ইতিহাসে আর কোনো কমিট যোগ করা হবে না। পরিবর্তে, ট্যাগ যোগ করার সময় রিপোজিটরিটি কীভাবে উপস্থিত হয়েছিল তার একটি স্ন্যাপশট সংরক্ষণ করবে।

Git-এ দুটি ভিন্ন ধরনের ট্যাগ সমর্থিত। এইগুলো:

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

  • টীকাযুক্ত ট্যাগ। এগুলি এমন ট্যাগ যা গিট ডাটাবেসে সম্পূর্ণ অবজেক্ট হিসাবে সংরক্ষণ করা হয়।
  • হালকা ট্যাগ। এই ট্যাগগুলি হল একটি নাম এবং একটি প্রতিশ্রুতি নির্দেশক৷

এখন আমরা গিট ট্যাগিংয়ের মূল বিষয়গুলি নিয়ে আলোচনা করেছি, আপনি কীভাবে গিটে ট্যাগগুলির সাথে কাজ করতে পারেন তা অন্বেষণ করুন।

একটি ট্যাগ তৈরি করুন

আপনি গিটে ট্যাগ নিয়ে কাজ শুরু করার আগে, আপনাকে একটি ট্যাগ তৈরি করতে হবে। গিট-এ একটি ট্যাগ তৈরির সিনট্যাক্স নিম্নরূপ:

git ট্যাগ 

"নাম" প্যারামিটারটি আপনি যে ট্যাগ তৈরি করতে চান তার নাম বোঝায়। যেহেতু ট্যাগিং সাধারণত একটি প্রকল্পের সংস্করণ ট্র্যাক করতে ব্যবহৃত হয়, আপনি একটি ট্যাগের জন্য "v1.2" বা "beta-v0.9" এর মতো একটি নাম ব্যবহার করতে চাইতে পারেন৷

আপনার তৈরি করা ট্যাগটি আপনার সংগ্রহস্থলে আপনি যে বর্তমান প্রতিশ্রুতিতে আছেন তাতে প্রয়োগ করা হবে।

টীকাযুক্ত ট্যাগ

একটি টীকাযুক্ত ট্যাগ হল একটি ট্যাগ যা গিট ডাটাবেসে একটি সম্পূর্ণ বস্তু সংরক্ষণ করে। আপনি যখন একটি টীকাযুক্ত ট্যাগ তৈরি করেন, মেটাডেটা যেমন ট্যাগটি তৈরি করা ব্যক্তির নাম, তাদের ইমেল এবং ট্যাগটি তৈরি করার তারিখ সংরক্ষণ করা হবে।

এছাড়াও, টীকাযুক্ত ট্যাগগুলি ট্যাগের জন্য একটি বার্তা সহ সংরক্ষণ করা হয়। সাধারণভাবে বলতে গেলে, টীকাযুক্ত ট্যাগগুলি লাইটওয়েট ট্যাগের চেয়ে পছন্দ করা হয় কারণ টীকাযুক্ত ট্যাগগুলির দ্বারা সংরক্ষিত মেটাডেটা লাইনের নিচে অনেকগুলি ব্যবহার করতে পারে।

উদাহরণস্বরূপ, আপনি যদি সময়ের সাথে সংস্করণ করার জন্য দায়ী কে ট্র্যাক করতে চান, আপনার একটি টীকাযুক্ত ট্যাগ দ্বারা সঞ্চিত মেটাডেটা অ্যাক্সেস করতে হবে।

Git-এ একটি টীকাযুক্ত ট্যাগ তৈরি করার জন্য এখানে সিনট্যাক্স রয়েছে:

git ট্যাগ -a 

-a পতাকাটি একটি টীকাযুক্ত ট্যাগ তৈরি করতে গিটকে বলতে ব্যবহৃত হয়। "নাম" প্যারামিটার হল সেই ট্যাগের নাম যা আমরা তৈরি করতে চাই।

আমরা এই কমান্ডটি চালানোর পরে, সিস্টেম-ডিফল্ট পাঠ্য সম্পাদক খুলবে এবং আমাদের টীকাযুক্ত ট্যাগের জন্য একটি বার্তা সন্নিবেশ করতে বলবে। এটি ঘটে কারণ, যেমনটি আমরা আগে আলোচনা করেছি, টীকাযুক্ত ট্যাগগুলি একটি বার্তার সাথে সংরক্ষণ করা হয়।

বিকল্পভাবে, আপনি বার্তাটি নির্দিষ্ট করতে পারেন যার সাথে একটি ট্যাগ সরাসরি তৈরি করা হবে। আপনি এই কোড ব্যবহার করে তা করতে পারেন:

গিট ট্যাগ -a  -m <বার্তা>

-m ট্যাগটি একটি টীকাযুক্ত ট্যাগে একটি বার্তা যোগ করতে ব্যবহৃত হয়। ধরুন আমরা "সংস্করণ 1.9" বার্তা সহ v1.9 নামক একটি ট্যাগ তৈরি করতে চেয়েছিলাম। আমরা এই কোডটি ব্যবহার করে তা করতে পারি:

গিট ট্যাগ -a v1.9 -m "সংস্করণ 1.9"

যখন আমরা এই কমান্ডটি চালাই, তখন "সংস্করণ 1.9" সহ বার্তা সহ v1.9 নামক একটি ট্যাগ তৈরি করা হবে।

কোনও বার্তা ছাড়াই গিট ট্যাগ ব্যবহার করার চেয়ে এই কমান্ডটি চালানো আরও সুবিধাজনক, কারণ এইভাবে আমাদের ডিফল্ট টেক্সট এডিটরে একটি টাইপ না করে সরাসরি একটি কমিট বার্তা নির্দিষ্ট করার অনুমতি দেয় যা আপনি একটি কমিট বার্তা নির্দিষ্ট না করলে প্রদর্শিত হয়।

হালকা ট্যাগ

একটি লাইটওয়েট ট্যাগ তৈরি করতে, আপনাকে আমরা আগে আলোচনা করা স্ট্যান্ডার্ড গিট ট্যাগ সিনট্যাক্স ব্যবহার করতে হবে। ধরুন আপনি "v1.9.1" নামে একটি লাইটওয়েট ট্যাগ তৈরি করতে চান। আপনি এই কোড ব্যবহার করে তা করতে পারেন:

গিট ট্যাগ v1.9.1

এই কমান্ডটি v1.9.1 নামে একটি লাইটওয়েট ট্যাগ তৈরি করবে। আপনি যখন একটি লাইটওয়েট ট্যাগ তৈরি করেন, তখন আপনাকে একটি ট্যাগ বার্তা নির্দিষ্ট করতে হবে না। পরিবর্তে, একটি নতুন ট্যাগ চেকসাম তৈরি করা হবে এবং প্রকল্পের .git ফোল্ডারে সংরক্ষণ করা হবে।

একটি প্রকল্পের ট্যাগ তালিকাভুক্ত করুন

আপনি যখন একটি বড় প্রকল্পে কাজ করছেন, তখন আপনার সংগ্রহস্থলের বেশ কয়েকটি ট্যাগ করা সংস্করণ থাকতে পারে। একটি প্রকল্পের সাথে সংরক্ষিত ট্যাগগুলির একটি তালিকা পুনরুদ্ধার করতে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

গিট ট্যাগ

এই কমান্ডটি ট্যাগের একটি তালিকা প্রদান করে। এখানে এই কমান্ড থেকে একটি উদাহরণ আউটপুট:

v1.9.1v1.9.0v1.8.11v1.8.10v1.8.9...

উপরন্তু, -l পতাকা একটি প্রকল্পের সাথে ব্যবহৃত ট্যাগগুলি ফিল্টার করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি যদি "v1.8" দিয়ে শুরু হয় এমন প্রতিটি ট্যাগের একটি তালিকা পুনরুদ্ধার করতে চান, আপনি এই কোডটি ব্যবহার করতে পারেন:

গিট ট্যাগ -l v1.8*

আমাদের কমান্ডে, আমরা একটি -l পতাকা নির্দিষ্ট করেছি, তারপরে "v1.8*"। এটি গিটকে v1.8 দিয়ে শুরু হওয়া সমস্ত ট্যাগের একটি তালিকা পুনরুদ্ধার করার নির্দেশ দেয়। তারকাচিহ্ন (*) বোঝায় যে ট্যাগগুলি ফেরত দিতে হবে "v1.8" এর পরে যে কোনও অক্ষর অন্তর্ভুক্ত করতে পারে।

এখানে এই কমান্ড থেকে একটি উদাহরণ আউটপুট:

v1.8.11v1.8.10v1.8.9v1.8.8...

আপনি দেখতে পাচ্ছেন, ফিরে আসা সমস্ত ট্যাগ "v1.8" দিয়ে শুরু হয়।

একটি ট্যাগ চেকআউট করুন

গিট চেকআউট কমান্ডটি একটি নির্দিষ্ট ট্যাগ সহ একটি প্রতিশ্রুতিতে একটি সংগ্রহস্থলের অবস্থা দেখতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, ধরুন আপনি v1.1-এ থাকাকালীন আপনার সংগ্রহস্থল দেখতে চেয়েছিলেন। আপনি এই কোড ব্যবহার করে তা করতে পারেন:

গিট চেকআউট v1.1

এই কমান্ডটি রিপোজিটরিটিকে একটি "বিচ্ছিন্ন হেড" অবস্থায় নিয়ে যায়, যার মানে আপনি যে কোনো পরিবর্তন করলে রেপোর ট্যাগ করা সংস্করণ আপডেট হবে না। পরিবর্তে, একটি নতুন বিচ্ছিন্ন কমিট তৈরি করা হবে যা কোনো শাখার সাথে যুক্ত হবে না।

এই কমান্ডটি চালানোর পর, v1.1 ট্যাগ করা কমিট-এ আমাদের কোডবেস কীভাবে উপস্থিত হয়েছে তা আমরা দেখতে পাব।

একটি পুরানো প্রতিশ্রুতি ট্যাগ করুন

আমাদের পূর্ববর্তী উদাহরণগুলিতে, আমরা আলোচনা করেছি কিভাবে গিট ট্যাগ ফাংশন ব্যবহার করে গিট এর বর্তমান সংস্করণে একটি ট্যাগ যুক্ত করতে যা আপনি কাজ করছেন। এর কারণ হল, ডিফল্টরূপে, গিট ট্যাগ HEAD কমিটের জন্য একটি ট্যাগ তৈরি করবে (যে প্রতিশ্রুতি আপনি বর্তমানে দেখছেন)।

যাইহোক, আপনি গিট ট্যাগ কমান্ড ব্যবহার করে একটি পুরানো কমিট ট্যাগ করতে পারেন। আপনি একটি নির্দিষ্ট প্রতিশ্রুতির রেফারেন্স উল্লেখ করে এটি করতে পারেন যেখানে আপনি একটি ট্যাগ যুক্ত করতে চান।

ধরুন আপনি আপনার সংগ্রহস্থলের শেষ কমিটটিতে একটি ট্যাগ যোগ করতে চান। এটি করার জন্য, আপনাকে প্রথমে গিট লগ চালাতে হবে। এটি আপনাকে সাম্প্রতিক প্রতিশ্রুতিগুলির একটি তালিকা পুনরুদ্ধার করার অনুমতি দেবে৷ এখানে গিট লগ কমান্ড কার্যকর করার একটি উদাহরণ রয়েছে (-pretty=oneline পতাকা সহ, যা আমাদের প্রতিশ্রুতিগুলি দেখতে আমাদের জন্য সহজ করে তোলে):

গিট লগ --pretty=oneline

আমাদের কমান্ড ফিরে আসে:

8cd29ae5d04abbdbd856d2c2f55f2b82133903e8 পুশ নতুন লগিং বৈশিষ্ট্য2911aae73ed1dd372bcdf8f520b174c3817c818b লগিং বৈশিষ্ট্য শুরু করুন 

এখন, ধরুন আমরা আমাদের "ফিক্স ইস্যু #342" প্রতিশ্রুতিতে একটি ট্যাগ যোগ করতে চাই। আমরা চাই এই ট্যাগটিকে "v1.3" বলা হোক। আমরা নিম্নলিখিত কোড ব্যবহার করে এই ট্যাগ যোগ করতে পারি:

গিট ট্যাগ -a v1.3 9646aa785211f3069ce01177da98e23b7890d859

এই কমান্ডটি আমাদের কোডে উল্লেখ করা কমিটটিতে ট্যাগ 1.3 যুক্ত করে। এই ক্ষেত্রে, আমরা "ইস্যু #342 ফিক্স করুন" বার্তা সহ কমিটের জন্য SHA হ্যাশ নির্দিষ্ট করেছি।

পুরাতন ট্যাগ প্রতিস্থাপন করুন

প্রতিটি কমিট শুধুমাত্র একটি ট্যাগ থাকতে পারে. আপনি যদি সিদ্ধান্ত নেন যে আপনি একটি কমিটের সাথে যুক্ত ট্যাগটিকে অন্য ট্যাগের সাথে প্রতিস্থাপন করতে চান তবে আপনি গিট ট্যাগ ব্যবহার করে তা করতে পারেন। যাইহোক, আপনাকে অবশ্যই -f (ফোর্স) বিকল্পটি নির্দিষ্ট করতে হবে, যা বিদ্যমান ট্যাগটিকে ওভাররাইড করবে

ধরুন আমরা আমাদের আগের উদাহরণে আলোচনা করা কমিটটিতে "v1.3.1" ট্যাগ যোগ করতে চেয়েছিলাম। যদি আমরা -f পতাকা ব্যবহার না করে এটি করার চেষ্টা করি, একটি ত্রুটি বার্তা প্রদর্শিত হবে। আমাদের পূর্ববর্তী প্রতিশ্রুতিতে "v1.3.1" ট্যাগ যোগ করতে, আমরা এই কমান্ডটি ব্যবহার করতে পারি:

git ট্যাগ -a -f v1.3.1 9646aa785211f3069ce01177da98e23b7890d859

এই কমান্ডটি আমাদের প্রতিশ্রুতিতে "v1.3.1" ট্যাগ যোগ করে এবং আমাদের আগে যে "v1.3" ট্যাগটি ছিল তা ওভাররাইড করে।

একটি ট্যাগ মুছুন

গিট ব্যবহার করে একটি ট্যাগ মুছতে, আপনি -d পতাকা ব্যবহার করতে পারেন। ধরুন আমরা আমাদের সংগ্রহস্থল থেকে "v1.3" ট্যাগটি মুছে ফেলতে চাই। আমরা এই কোডটি ব্যবহার করে তা করতে পারি:

git ট্যাগ -d v1.3git ট্যাগ

আমাদের কোড ফিরে আসে:

v1.4v1.2v1.1

প্রথম কমান্ড আমাদের সংগ্রহস্থল থেকে ট্যাগ v1.3 মুছে দেয়। দ্বিতীয় কমান্ড ট্যাগগুলির একটি তালিকা প্রদান করে। আপনি দেখতে পাচ্ছেন, যখন আমরা ট্যাগগুলির একটি তালিকা পুনরুদ্ধার করি, ট্যাগ v1.3 অনুপস্থিত। কারণ আমরা -d পতাকা ব্যবহার করে ট্যাগ মুছে ফেলেছি।

উপসংহার

ট্যাগিং হল গিট-এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেভেলপারদের দ্বারা গিট সংগ্রহস্থলের বিভিন্ন সংস্করণের ট্র্যাক রাখতে ব্যবহৃত হয়। একজন ডেভেলপার যে বর্তমান প্রতিশ্রুতি দেখছেন তাতে ট্যাগ যোগ করা যেতে পারে, বা একটি সংগ্রহস্থলে বিদ্যমান প্রতিশ্রুতিতে যোগ করা যেতে পারে।

এই টিউটোরিয়ালে উদাহরণ সহ আলোচনা করা হয়েছে, Git-এ ট্যাগ করার মূল বিষয়গুলি এবং কিভাবে Git tag কমান্ড ব্যবহার করতে হয়। এখন আপনি একজন পেশাদার বিকাশকারীর মতো গিট ট্যাগ কমান্ড ব্যবহার শুরু করতে প্রস্তুত!


  1. HTML <samp> ট্যাগ

  2. HTML <s> ট্যাগ

  3. HTML <b> ট্যাগ

  4. HTML <dl> ট্যাগ