সাধারণ গিট কমান্ড সহ ম্যানুয়াল পদক্ষেপ
পরিকল্পনাটি হ'ল পৃথক ডিরেক্টরিগুলি তার নিজস্ব ভাগে বিভক্ত করা হবে, তারপরে সেগুলি একত্রিত করুন। নিম্নলিখিত ম্যানুয়াল পদক্ষেপগুলি গিক-টু-ব্যবহার স্ক্রিপ্টগুলি নিয়োগ করে না তবে সহজেই বুঝতে সহজ কমান্ডগুলি ব্যবহার করে এবং অতিরিক্ত এন সাব-ফোল্ডারগুলিকে অন্য একক ভান্ডারে একীভূত করতে সহায়তা করতে পারে।
বিভক্ত করা
আসুন অনুমান আপনার মূল রেপো হল: 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 টিরও বেশি রেপো থাকলে চালিয়ে যান।
তথ্যসূত্র: গিটের সাথে অন্য সংগ্রহস্থলের একটি উপ-ডিরেক্টরিকে মার্জ করুন