গিট ব্যবহার করে একটি ওয়েব অ্যাপ্লিকেশনটির একাধিক সংস্করণ পরিচালনা করা


12

আমাদের অ্যাপসের একটি পরিবার রয়েছে, সবারই একই বেস রয়েছে। এখন অবধি আমি এই বেসটি বিকাশ করে চলেছি এবং গিট ওয়ার্কফ্লো খুব সাধারণ ছিল:

  • developশাখায় উন্নয়ন হয়
  • নতুন বৈশিষ্ট্যগুলি name-of-the-featureশাখায় বিকশিত হয়
  • রিলিজগুলি release-**শাখায় তৈরি করা হয়

এখন অবধি, পরিবারের প্রতিটি অ্যাপ্লিকেশনের জন্য কোডটি একই ছিল। আসুন যাক তাদের যে বেসটি ভাগ করে নিয়েছে সেগুলি এখন সম্পূর্ণ, এবং এখন থেকে কোড প্রতিটি অ্যাপ্লিকেশনের জন্য আলাদা হবে।

আমি নিশ্চিত না যে কীভাবে গিট এবং একই বেস রয়েছে এমন একাধিক অ্যাপ্লিকেশনগুলির সাথে আমি কীভাবে व्यवहार করব

  • তাদের প্রত্যেকের নিজস্ব গিট প্রকল্প থাকতে হবে ?
  • এগুলি কি একই প্রকল্পে থাকা উচিত, তবে প্রত্যেকের নিজস্ব শাখায় থাকা উচিত ?

মুল বক্তব্যটি: আমি যদি এগুলিকে আলাদা প্রকল্পে রাখি তবে অ্যাপের বেসে করা প্রতিটি সংশোধন আমাকে প্রতিটি অ্যাপ্লিকেশনটিতে পুনরাবৃত্তি করতে হবে। আমি গিটের সাথে খুব বেশি পরিচিত নই , তবে আমি যদি প্রতিটি প্রকল্প একটি শাখায় সঞ্চয় করি তবে প্রতিটি অ্যাপের সাথে বেস সংশোধনটি মার্জ করা সম্ভব হবে কি?

কেউ কি এরকম পরিস্থিতি অনুভব করেছেন? কীভাবে এগিয়ে যাব আমি নিশ্চিত নই।

ধন্যবাদ!

সম্পাদনা করা যখন আমি সংস্করণটি বলেছিলাম তার অর্থ সংস্করণ সংখ্যার মতো নয়। তারা আসলে একই অ্যাপ্লিকেশন যা একই বেস ভাগ করে।

উত্তর:


7

বেস অ্যাপটিকে তার নিজস্ব ভান্ডারে রেখে দিন এবং এমন নতুন প্রকল্প তৈরি করুন যা আপনি সেই ভাণ্ডার থেকে সংকলন করা জারের উপর নির্ভর করে।

গিট শাখা একাধিক অ্যাপের জন্য নয়। গিট পছন্দ করে যে আপনি প্রতিটি প্রকল্পের জন্য বা প্রকল্পের সম্পর্কিত পরিবারের জন্য একটি করে সংগ্রহস্থল ব্যবহার করেন। শাখাগুলি সেখানে রয়েছে যাতে আপনি বিচ্ছিন্নতার বৈশিষ্ট্য বিকাশ করতে পারেন, তাই না আপনি সংগ্রহস্থল না রেখে সম্পূর্ণ নতুন প্রকল্প তৈরি করতে পারেন।

আপনার কোড একসাথে থাকা একাধিক অ্যাপ্লিকেশন থাকতে চান না - এটি রক্ষণাবেক্ষণের দুঃস্বপ্ন। আপনি যদি আপনার কেন্দ্রীয় রেপোতে একটি শাখা হিসাবে বিকাশ করার পরামর্শ দেন তবে প্রতিটি অ্যাপ্লিকেশনে পরিবর্তনগুলি প্রচার করার জন্য আপনার প্রচুর সংযোজন হবে । একটি একক, পৃথক গ্রন্থাগারের উপর নির্ভর করা এবং প্রকল্পের নির্ভরতা টানতে অ্যাপাচি মাভেনের মতো কিছু ব্যবহার করা অনেক সহজ ।


যে কোডটি ভাগ করা হয়েছে তার বেশিরভাগটি হ'ল জিডাব্লুটি কোড (ভিউ, পরিষেবাদি ইত্যাদি)। এটি কি জার লাইব্রেরিতে নিষ্কাশন করা সম্ভব? অথবা জাভা কোডটি সার্ভার-সাইডে করা সম্ভব?
জোও ড্যানিয়েল

দেখুন উপাদানগুলি নিষ্কাশন করা যেতে পারে, তবে সম্ভবত কোনও জারে নেই। উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট প্রতিটি পৃষ্ঠা থেকে একটি একক ফাইলে বের করা যেতে পারে যা প্রতিটি প্রকল্পে অন্তর্ভুক্ত করা যেতে পারে। জেএসপি সাধারণ কোডটি জেএসপি ট্যাগগুলিতে বের করা উচিত। আপনার সম্ভবত পুরো পৃষ্ঠাগুলি টানার দরকার নেই, তবে আমি আপনার প্রকল্পটি জানি না, তাই আমি ভুল হতে পারি।
মাইকেল কে

আপনি এই পদ্ধতির কী ভাবেন: stackoverflow.com/a/2540471/2615737 ? এটি যুক্তিসঙ্গত seams ...
ফ্রান্সিসকো Corlales মোরেলেস

আমি মনে করি না এটি একই ব্যবহারের ক্ষেত্রে। এই উত্তরটিতে একই অ্যাপ্লিকেশনের দুটি সংস্করণ রয়েছে যা খুব সামান্য আলাদা, যদিও এই প্রশ্নটি আমি সম্পূর্ণরূপে বিভিন্ন অ্যাপ্লিকেশন হিসাবে দেখি is আমি এখনও "কিছুটা আলাদা" ক্ষেত্রে এমনকি শাখাটি না রাখাই পছন্দ করতাম; তবে, এর সাথে যদি কোনও এক্সএমএল জড়িত থাকে তবে অ্যান্ড্রয়েডে পৃথক গ্রন্থাগারগুলির কার্যকারিতা নির্ধারণ করা কঠিন। দেখে মনে হচ্ছে যে উত্তরদাতা তার পরিস্থিতিটির জন্য ঝামেলার উপযুক্ত বলে মনে করেননি।
মাইকেল কে

6

অ্যাপ্লিকেশনগুলি যদি বেসটি নিজেই পরিবর্তন করে না, তবে বেসটিকে তার নিজস্ব ভান্ডারে রেখে যাওয়া বিবেচনা করুন। তারপরে স্বতন্ত্র অ্যাপ্লিকেশনের জন্য একটি নতুন ভাণ্ডার তৈরি করুন এবং গিট সাবমডিউল হিসাবে বেসটি যুক্ত করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.