সম্পাদনা করুন: অনুরূপ কিছু প্রশ্নের মতো নয় যেমন গিট বা /programming/540535/managing-large-binary-files-with-git- এ একাধিক-জিবি এসভিএন রেপো স্থানান্তরিত করা আমার দৃশ্যে বেশ কয়েকটি সাবপ্রজেক্ট জড়িত না সহজেই গিট সাবমোডিয়ালগুলিতে রূপান্তরিত হতে পারে, না গিট-এনেক্সের জন্য বেশ উপযুক্ত কয়েকটি বাইনারি ফাইলও উপযুক্ত। এটি একটি একক সংগ্রহস্থল যেখানে বাইনারিগুলি টেস্ট স্যুট যা দৃ which়ভাবে একই সংশোধনের মূল উত্স কোডের সাথে মিলিত হয়েছিল, যেমন তারা গ্রাফিক্সের মতো সময় সম্পদ সংকলন করে থাকে like
আমি একটি পুরানো মাঝারি / বড় আকারের (50 ব্যবহারকারী, 60 কে রিভিশন, 80 জিবি ইতিহাস, 2 জিবি ওয়ার্কিং কপি) এসএনএন থেকে কোড সংগ্রহস্থল স্যুইচিংয়ের তদন্ত করছি। ব্যবহারকারীর সংখ্যা বাড়ার সাথে সাথে ট্রাঙ্কে প্রচুর মন্থর রয়েছে এবং কোডগুলি পর্যালোচনা করতে কঠোর হবার কারণে বৈশিষ্ট্যগুলি প্রায়শই একাধিক কমিটিতে ছড়িয়ে পড়ে। এছাড়াও শাখা ছাড়াই "গেট" খারাপ কোড আউট করার কোনও উপায় নেই, পর্যালোচনাগুলি কেবল ট্রাঙ্কে প্রতিশ্রুতিবদ্ধ হওয়ার পরেই করা যেতে পারে । আমি বিকল্পগুলি তদন্ত করছি। আমি আশা করছিলাম যে আমরা গিটে যেতে পারি, তবে আমার কিছু সমস্যা হচ্ছে।
গিট যতদূর যায় বর্তমান রেপোতে সমস্যা আকার। সেখানে প্রচুর পুরানো ক্রাফট রয়েছে এবং গিটে রূপান্তরকালে - ফিল্টার-শাখা দিয়ে এটি পরিষ্কার করে আকারের আকার অনুযায়ী এটি প্রায় 5-10 গিগাবাইট পর্যন্ত কেটে ফেলতে পারে। এটি এখনও অনেক বড়। বৃহত সংগ্রহস্থল আকারের বৃহত্তম কারণ হ'ল পরীক্ষার জন্য প্রচুর বাইনারি ডকুমেন্ট রয়েছে। এই ফাইলগুলি .5mb এবং 30mb এর মধ্যে পরিবর্তিত হয় এবং শত শত রয়েছে। তাদেরও বেশ কিছু পরিবর্তন এসেছে। আমি সাবমডিউলগুলি, গিট-অ্যানেক্স ইত্যাদি দেখেছি তবে সাবমডিউলে পরীক্ষাগুলি করা ভুল অনুভব করে, যেমন আপনি সম্পূর্ণ ইতিহাস চান এমন অনেকগুলি ফাইলের সংযুক্তিও রয়েছে।
গিটের বিতরণ প্রকৃতি হ'ল সত্যই এটি গ্রহণ করতে আমাকে বাধা দিচ্ছে। আমি বিতরণ সম্পর্কে সত্যই পাত্তা দিই না, আমি কেবল সস্তা শাখা এবং শক্তিশালী মার্জ বৈশিষ্ট্যগুলি চাই। আমি যেমন ধরে নিচ্ছি যে গিট ব্যবহারকারীরা 99.9% ব্যবহার করেন, আমরা একটি আশীর্বাদযুক্ত, খালি কেন্দ্রীয় সঞ্চয়স্থান ব্যবহার করব ory
আমি নিশ্চিত নই যে গিট ব্যবহার করার সময় প্রত্যেক ব্যবহারকারীর কেন পুরো স্থানীয় ইতিহাস থাকতে হবে? যদি কর্মপ্রবাহ বিকেন্দ্রীভূত না হয় তবে ব্যবহারকারীদের ডিস্কগুলিতে ডেটা কী করছে? আমি জানি যে গিটের সাম্প্রতিক সংস্করণগুলিতে আপনি কেবল সাম্প্রতিক ইতিহাস সহ অগভীর ক্লোন ব্যবহার করতে পারেন। আমার প্রশ্ন হ'ল: কোনও গোটা টিমের স্ট্যান্ডার্ড মোড অপারেশন হিসাবে এটি করা কি কার্যকর? গিটটি সর্বদা অগভীরতে কনফিগার করা যেতে পারে যাতে আপনি কেবল কেন্দ্রীয়ভাবেই পুরো ইতিহাস রাখতে পারেন, কিন্তু ব্যবহারকারীরা কেবলমাত্র ইতিহাসের 1000 রিভিস থাকতে পারে? অবশ্যই এর বিকল্পটি হ'ল 1000 রিভকে গিটে রূপান্তর করা এবং প্রত্নতত্ত্বের জন্য এসএনএন রেপো রাখা। তবে সেই পরিস্থিতিতে আমরা পরীক্ষার নথিতে পরবর্তী কয়েক হাজার সংশোধনীর পরে আবার একই সমস্যাটির মুখোমুখি হব।
- বড় যে আপনি অনেক বাইনারি ফাইল ধারণকারী Repos সঙ্গে Git ব্যবহার করার জন্য একটি ভাল অভ্যাস কি না ইতিহাস চাও? সর্বাধিক সেরা অনুশীলন এবং টিউটোরিয়ালগুলি এই কেসটিকে এড়িয়ে চলেছে বলে মনে হচ্ছে। তারা কয়েকটি বিশাল বাইনারিগুলির সমস্যা সমাধান করে, বা বাইনারিগুলি পুরোপুরি বাদ দেওয়ার প্রস্তাব দেয়।
- অগভীর ক্লোনিং কি সাধারণ অপারেশন হিসাবে ব্যবহারযোগ্য বা এটি একটি "হ্যাক"?
- কোডের জন্য সাবমোডিয়ালগুলি কীভাবে ব্যবহার করা যেতে পারে যেখানে আপনার প্রধান উত্সের পুনর্বিবেচনা এবং সাবমডিউল পুনর্বিবেচনার (যেমন কম্পাইল টাইম বাইনারি নির্ভরতা, বা একটি ইউনিট পরীক্ষা স্যুট) মধ্যে একটি ঘনিষ্ঠ নির্ভরতা রয়েছে?
- গিট সংগ্রহস্থলের (প্রাঙ্গনে) কত "বড়"? আমরা যদি এটি 4 জিবি তে নামতে পারি তবে আমাদের কী সুইচিং এড়ানো উচিত? 2GB?