উত্তর:
মনে হচ্ছে আপনি গিট সাবমডিউল ব্যবহার করতে চান ।
গিট সাবমডিউলগুলি ব্যবহার করে এই সমস্যাটিকে সম্বোধন করে। সাবমডিউলগুলি আপনাকে গিট সংগ্রহস্থলকে অন্য গিট সংগ্রহস্থলের উপ-ডিরেক্টরি হিসাবে রাখতে দেয়। এটি আপনাকে আপনার প্রকল্পে আরেকটি ভান্ডার ক্লোন করতে দেয় এবং আপনার কমিটগুলি পৃথক রাখতে দেয়।
আমি সর্বদা দুটি পৃথক এবং স্বতন্ত্র রেপো বজায় রাখতে সিমলিংক ব্যবহার করেছি।
.gitignore
?
rsync -avh --delete --exclude='.git' REPO-B/ REPO-A/REPO-B-copy/
সেখানে রেপো-বি কোনো পরিবর্তন হয় পরে
হ্যাঁ, আপনি যে ফাইলের ক্রমবিন্যাসটি আঁকেন তার সাথে আপনি যা করতে চেয়েছিলেন ঠিক তেমন করতে পারেন। রেপো-বি স্বতন্ত্র হবে এবং রেপো-এ সম্পর্কে কোনও জ্ঞান নেই। রেপো-এ এর নিজস্ব ফাইল এবং রেপো-বি এর ফাইলগুলির সমস্ত পরিবর্তন ট্র্যাক করবে।
তবে, আমি এটি করার সুপারিশ করব না। প্রতিবার আপনি ফাইল পরিবর্তন করেন এবং রেপো-বিতে প্রতিশ্রুতিবদ্ধ হন আপনাকে রেপো-এতে প্রতিশ্রুতিবদ্ধ হতে হবে। রেপো-বিতে ব্র্যাঞ্চিং রেপো-এ-র সাথে জগাখিচুড়ি করবে এবং রেপো-এ-তে শাখা প্রশস্ত হবে (ফোল্ডারগুলি অপসারণে সমস্যা ইত্যাদি)। সাবমডিউলগুলি অবশ্যই যাওয়ার উপায়।
আপনি যা চান তা অর্জন করতে পারেন (যে REPO-A রেপোতে কেবলমাত্র একটি রেফারেন্সের পরিবর্তে ফোল্ডার REPO-B এর সমস্ত ফাইল রয়েছে) "গিট-সাবরেপো" ব্যবহার করে:
https://github.com/ingydotnet/git-subrepo
এটি এখনও কাজ করে যদি আপনার কিছু অবদানকারীর সাবরেপো কমান্ড ইনস্টল না থাকে; তারা সম্পূর্ণ ফোল্ডার কাঠামো দেখতে পাবে তবে সাবেরপোসে পরিবর্তন করতে সক্ষম হবে না।