সাধারণ গিট কমান্ড সহ ম্যানুয়াল পদক্ষেপ
পরিকল্পনাটি হ'ল পৃথক ডিরেক্টরিগুলি তার নিজস্ব ভাগে বিভক্ত করা হবে, তারপরে সেগুলি একত্রিত করুন। নিম্নলিখিত ম্যানুয়াল পদক্ষেপগুলি গিক-টু-ব্যবহার স্ক্রিপ্টগুলি নিয়োগ করে না তবে সহজেই বুঝতে সহজ কমান্ডগুলি ব্যবহার করে এবং অতিরিক্ত এন সাব-ফোল্ডারগুলিকে অন্য একক ভান্ডারে একীভূত করতে সহায়তা করতে পারে।
বিভক্ত করা
আসুন অনুমান আপনার মূল রেপো হল: original_repo
1 - স্প্লিট অ্যাপস:
git clone original_repo apps-repo
cd apps-repo
git filter-branch --prune-empty --subdirectory-filter apps master
2 - স্প্লিট libs
git clone original_repo libs-repo
cd libs-repo
git filter-branch --prune-empty --subdirectory-filter libs master
আপনার 2 টিরও বেশি ফোল্ডার থাকলে চালিয়ে যান। এখন আপনার দুটি নতুন এবং অস্থায়ী গিট সংগ্রহস্থল থাকবে ory
অ্যাপ্লিকেশন এবং libs একত্রিত করে জয়
3 - একেবারে নতুন রেপো প্রস্তুত করুন:
mkdir my-desired-repo
cd my-desired-repo
git init
এবং আপনার কমপক্ষে একটি কমিট করতে হবে need নিম্নলিখিত তিনটি লাইন যদি এড়ানো যায় তবে আপনার রেপোটি আপনার রেপোর মূলের নীচে অবিলম্বে উপস্থিত হবে:
touch a_file_and_make_a_commit # see user's feedback
git add a_file_and_make_a_commit
git commit -am "at least one commit is needed for it to work"
টেম্প ফাইলটি কমিট হওয়ার সাথে সাথে, mergeপরবর্তী বিভাগে কমান্ড প্রত্যাশা অনুযায়ী বন্ধ হয়ে যাবে।
ব্যবহারকারীর প্রতিক্রিয়া থেকে নেওয়া, এলোমেলো ফাইলের মতো a_file_and_make_a_commitপছন্দ করার পরিবর্তে আপনি একটি .gitignore, বা README.mdইত্যাদি যুক্ত করতে বেছে নিতে পারেন
4 - অ্যাপ্লিকেশনগুলির রেপো প্রথমে মার্জ করুন:
git remote add apps-repo ../apps-repo
git fetch apps-repo
git merge -s ours --no-commit apps-repo/master # see below note.
git read-tree --prefix=apps -u apps-repo/master
git commit -m "import apps"
এখন আপনার নতুন ভাণ্ডারের ভিতরে অ্যাপ্লিকেশন ডিরেক্টরি দেখতে হবে । git logসমস্ত প্রাসঙ্গিক historicalতিহাসিক প্রতিশ্রুতি বার্তা প্রদর্শন করা উচিত।
দ্রষ্টব্য: ক্রিস যেমন মন্তব্যগুলিতে নীচে উল্লিখিত হয়েছে, গিটের নতুন সংস্করণ (> = 2.9) এর জন্য আপনাকে অবশ্যই এটি উল্লেখ --allow-unrelated-historiesকরতে হবেgit merge
5 - পরের দিকে একই রকমের রেবো মার্জ করুন:
git remote add libs-repo ../libs-repo
git fetch libs-repo
git merge -s ours --no-commit libs-repo/master # see above note.
git read-tree --prefix=libs -u libs-repo/master
git commit -m "import libs"
মার্জ করার জন্য আপনার কাছে 2 টিরও বেশি রেপো থাকলে চালিয়ে যান।
তথ্যসূত্র: গিটের সাথে অন্য সংগ্রহস্থলের একটি উপ-ডিরেক্টরিকে মার্জ করুন