সাবজিট (বনাম মৃত্যুর ব্লু স্ক্রিন)
subgit import --svn-url url://svn.serv/Bla/Bla directory/path/Local.git.Repo
এটা সব।
এসভিএন থেকে আপডেট করার জন্য, প্রথম কমান্ড দ্বারা নির্মিত একটি গিট সংগ্রহস্থল।
subgit import directory/path/Local.git.Repo
আমি একটি বিশাল সংগ্রহস্থলের জন্য তাত্ক্ষণিকভাবে গিটে স্থানান্তরিত করার একটি উপায় ব্যবহার করেছি।
অবশ্যই আপনার কিছু প্রস্তুতি দরকার।
তবে আপনি উন্নয়ন প্রক্রিয়াটি একেবারেই বন্ধ করতে পারবেন না।
এখানে আমার উপায়।
আমার সমাধানটি দেখে মনে হচ্ছে:
- এসভিএন একটি গিট সংগ্রহস্থলে স্থানান্তরিত করুন
- দলের স্যুইচ করার ঠিক আগে গিট সংগ্রহস্থল আপডেট করুন ।
একটি বড় এসভিএন সংগ্রহস্থলের জন্য মাইগ্রেশন অনেক সময় নেয়।
তবে সম্পন্ন মাইগ্রেশনটি মাত্র কয়েক সেকেন্ডের আপডেট।
অবশ্যই আমি সাবজিট , মামা ব্যবহার করছি । গিট-এসএনএন আমাকে ব্লু স্ক্রিন অফ ডেথ করেছে । শুধু ক্রমাগত। এবং গিট-এসএনএন আমাকে গিটের " ফাইল নাম খুব দীর্ঘ " মারাত্মক ত্রুটির সাথে বিরক্ত করছে ।
STEPS টি
1. সাবজিট ডাউনলোড করুন
২. মাইগ্রেট এবং আপডেট করার আদেশগুলি প্রস্তুত করুন।
ধরা যাক আমরা এটি উইন্ডোজের জন্য করি (এটি লিনাক্সে পোর্ট করা তুচ্ছ)।
সাবগিটের ইনস্টলেশন বিন ডিরেক্টরিতে (সাবজিট -২.এক্সএক্স \ বিন), দুটি .bat ফাইল তৈরি করুন।
স্থানান্তরের জন্য একটি ফাইল / কমান্ডের সামগ্রী:
start subgit import --svn-url url://svn.serv/Bla/Bla directory/path/Local.git.Repo
"স্টার্ট" কমান্ডটি এখানে (উইন্ডোজ) isচ্ছিক। এটি শুরুতে ত্রুটিগুলি দেখার অনুমতি দেবে এবং সাবজিট শেষ হওয়ার পরে একটি শেল খোলা থাকবে।
আপনি এখানে গিট-এসএনএন এর অনুরূপ অতিরিক্ত পরামিতি যুক্ত করতে পারেন । এসভিএন লেখকের ইমেল ঠিকানাটির ডোমেনটি ঠিক করতে আমি কেবলমাত্র --default- ডোমেন myCompanyDomain.com ব্যবহার করছি ।
আমার কাছে স্ট্যান্ডার্ড এসভিএন সংগ্রহস্থলের কাঠামো (ট্রাঙ্ক / শাখা / ট্যাগ) রয়েছে এবং আমাদের "লেখক ম্যাপিং" নিয়ে সমস্যা হয়নি। সুতরাং আমি আর কিছুই করছি না।
(আপনি যদি শাখাগুলির মতো ট্যাগগুলি স্থানান্তর করতে চান বা আপনার এসভিএন এর একাধিক শাখা / ট্যাগ ফোল্ডার রয়েছে তবে আপনি আরও ভার্জোজ সাবগিট পদ্ধতির ব্যবহার বিবেচনা করতে পারেন )
টিপ 1 : কীভাবে জিনিসগুলি উত্সাহিত হয় তা দ্রুত দেখার জন্য -মিনিমাল-রিভিশন আপনারএসভিএনরাইভ নাম্বার ব্যবহার করুন (কোনও ধরণের ডিবাগিং)। সমাধানযোগ্য লেখকের নাম বা ইমেলগুলি দেখা বিশেষত কার্যকর।
অথবা মাইগ্রেশন ইতিহাসের গভীরতা সীমাবদ্ধ করতে।
টিপ 2 : মাইগ্রেশন বিঘ্নিত হতে পারে ( Ctrl+ C) এবং পরবর্তী আপডেটিং কমান্ড / ফাইল চালিয়ে পুনরুদ্ধার করা যেতে পারে ।
আমি বড় সংগ্রহস্থলের জন্য এটি করার পরামর্শ দিচ্ছি না। আমি "আউট অফ মেমরি জাভা + উইন্ডোজ ব্যতিক্রম" পেয়েছি।
টিপ 3 : আপনার ফলাফল খালি সংগ্রহের অনুলিপি তৈরি করা আরও ভাল।
আপডেট করার জন্য একটি ফাইল / কমান্ডের সামগ্রী:
start subgit import directory/path/Local.git.Repo
আপনি যখন আপনার গিট সংগ্রহস্থলে সর্বশেষ দলের প্রতিশ্রুতি পেতে চান তখন আপনি এটিকে যে কোনও পরিমাণে চালাতে পারেন।
সতর্কবাণী! আপনার খালি ভাণ্ডার স্পর্শ করবেন না (উদাহরণস্বরূপ শাখাগুলি তৈরি করা)।
আপনি পরবর্তী মারাত্মক ত্রুটি গ্রহণ করবেন:
অপরিবর্তনযোগ্য ত্রুটি: সিঙ্কের বাইরে এবং সিঙ্ক করা যায় না ... গিট কমিটে সাবভার্সন রিভিশনগুলি অনুবাদ করে ...
৩. প্রথম কমান্ড / ফাইলটি চালান। এটি একটি বড় সংগ্রহস্থলের জন্য দীর্ঘ সময় নিতে হবে। আমার নম্র ভাণ্ডারের জন্য 30 ঘন্টা।
এটা সব।
আপনি নিজের গিট সংগ্রহস্থলটি এসভিএন থেকে যে কোনও সময় দ্বিতীয় ফাইল / কমান্ড চালিয়ে যে কোনও সময় আপডেট করতে পারেন। এবং আপনার বিকাশকারী দলের গিটে স্যুইচ করার আগে।
এটি মাত্র কয়েক সেকেন্ড লাগবে।
আরও একটি কার্যকর কাজ আছে।
আপনার স্থানীয় গিট সংগ্রহস্থলকে একটি দূরবর্তী গিট সংগ্রহস্থলে পুশ করুন
এটা কি আপনার কেস? এগিয়ে চলুন।
- আপনার রিমোটগুলি কনফিগার করুন
চালান:
$ git remote add origin url://your/repo.git
- আপনার বিশাল স্থানীয় গিট সংগ্রহস্থলকে দূরবর্তী সংগ্রহস্থলে প্রেরণের জন্য প্রস্তুত করুন
ডিফল্টরূপে আপনার গিট বড় অংশগুলি প্রেরণ করতে পারে না।
মারাত্মক: দূরবর্তী প্রান্তটি অপ্রত্যাশিতভাবে স্তব্ধ হয়ে গিয়েছিল
এর জন্য দৌড়া যাক:
git config --global http.postBuffer 1073741824
524288000 - 500 এমবি 1073741824 - 1 জিবি ইত্যাদি etc.
আপনার স্থানীয় শংসাপত্রের সমস্যাগুলি ঠিক করুন । যদি আপনার গিট-সার্ভারটি একটি ভাঙা শংসাপত্র ব্যবহার করে।
আমি শংসাপত্র অক্ষম করেছি ।
এছাড়াও আপনার গিট সার্ভারে একটি অনুরোধের পরিমাণ সীমাবদ্ধতা থাকতে পারে যা সংশোধন করা দরকার ।
- দলের দূরবর্তী গিট সংগ্রহস্থলে সমস্ত স্থানান্তর ঠেলাও।
স্থানীয় গিট দিয়ে চালান:
git push origin --mirror
( পুরানো গিট সংস্করণগুলির জন্য গিট পুশ অরিজিন '*: *' )
আপনি যদি নিম্নলিখিতটি পান: ত্রুটি: গিট স্প্যান করতে পারে না: এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই ... আমার জন্য আমার সংগ্রহশালার সম্পূর্ণ বিনোদন এই ত্রুটিটি সমাধান করে (30 ঘন্টা)। আপনি পরবর্তী কমান্ড চেষ্টা করতে পারেন
git push origin --all
git push origin --tags
বা গিট পুনরায় ইনস্টল করার চেষ্টা করুন ( আমার পক্ষে অকেজো )। অথবা আপনি আপনার সমস্ত ট্যাগ থেকে শাখা তৈরি করতে এবং এটিকে পুশ করতে পারেন। বা, বা, বা ...