Git Submodule: নির্ভরশীলতা পরিচালনা এবং সাবরিপোজিটরি একীভূত করা

Git Submodule আপনাকে একটি Git সংগ্রহস্থলকে একটি সাবডিরেক্টরি হিসাবে অন্য গিট সংগ্রহস্থলে এম্বেড করার অনুমতি দেয়। এটি দরকারী যখন আপনার কাছে একটি প্রকল্প থাকে যা একটি লাইব্রেরি বা বাহ্যিক উপাদানের উপর নির্ভর করে। এখানে কিভাবে ব্যবহার করবেন তার একটি মৌলিক নির্দেশিকা রয়েছে Git Submodule:

 

যোগ করুন Submodule

বর্তমান সংগ্রহস্থলে একটি যোগ করতে Submodule, সংগ্রহস্থলের রুট ডিরেক্টরিতে নেভিগেট করুন এবং নিম্নলিখিত কমান্ডটি চালান:

git submodule add <URL_repository> <destination_path>

<URL_repository> আপনি যে রিপোজিটরিটি এম্বেড করতে চান তার URLটি কোথায় এবং <destination_path> এটি সংরক্ষণ করার জন্য বর্তমান সংগ্রহস্থলে সাবডিরেক্টরির পথ Submodule

 

ক্লোন Submodule

Submodule একবার আপনি সংগ্রহস্থলে একটি যোগ করলে, আপনাকে এটিকে বিদ্যমান সংগ্রহস্থলে ক্লোন করতে হবে। ক্লোন করতে Submodule, নিম্নলিখিত কমান্ডগুলি চালান:

git submodule init  
git submodule update  

কমান্ডটি git submodule init শুরু করে Submodule এবং সাবমডিউল ধারণকারী সংগ্রহস্থলের একটি লিঙ্ক তৈরি করে। কমান্ডটি git submodule update এর সোর্স কোড ডাউনলোড করে Submodule এবং সংশ্লিষ্ট সাবডিরেক্টরিতে আপডেট করে

.

সাথে কাজ করছে Submodule

একবার Submodule সংগ্রহস্থলে ক্লোন হয়ে গেলে, আপনি এটির সাথে একটি স্বাধীন গিট সংগ্রহস্থল হিসাবে কাজ করতে পারেন। আপনি শাখা চেকআউট করতে পারেন, তৈরি করতে পারেন commits এবং এর মধ্যে পুশ করতে পারেন Submodule

বিদ্যমান সংগ্রহস্থলে সাবমডিউল আপডেট করতে, কমান্ডটি চালান:

git submodule update --remote

এই কমান্ডটি সংগ্রহস্থল থেকে সর্বশেষ পরিবর্তনগুলি ডাউনলোড করে Submodule এবং সংশ্লিষ্ট সাবডিরেক্টরিতে আপডেট করে।

 

অপসারণ Submodule

আপনার যদি আর প্রয়োজন না হয় Submodule, আপনি নিম্নলিখিত কমান্ডগুলি চালিয়ে এটিকে সরাতে পারেন:

git submodule deinit <submodule_name>  
git rm <submodule_path>  

<submodule_name> নামের সাথে প্রতিস্থাপন করুন Submodule এবং <submodule_path> সাবডিরেক্টরির পাথ সহ Submodule. তারপর, আপনি এই পরিবর্তন প্রতিশ্রুতি এবং ধাক্কা প্রয়োজন.

 

Git Submodule আপনাকে নির্ভরতা পরিচালনা করতে এবং আপনার প্রধান প্রকল্পে সহজেই সাব-রিপোজিটরিগুলিকে একীভূত করতে সহায়তা করে। এটি আপনাকে এর জন্য আলাদা সোর্স কোড বজায় রাখতে Submodule এবং প্রয়োজনে সহজেই আপডেট করতে দেয়।