গিট-ফ্লো অনুসরণ করে আপনি কীভাবে আগের রিলিজের হটফিক্স পরিচালনা করবেন?


103

আপনি যদি গিট-ফ্লো ব্রাঞ্চিং মডেলটি অনুসরণ করার চেষ্টা করেন তবে এখানে এবং এখানে সরঞ্জামাদি সহ নথিভুক্ত , আপনার এই পরিস্থিতিটি কীভাবে পরিচালনা করা উচিত:

আপনি একটি 1.0 প্রকাশ করেছেন এবং একটি 2.0 প্রকাশ করেছেন। তারপরে আপনাকে 1.0 এর জন্য একটি হটফিক্স তৈরি করতে হবে। আপনি 1.0 ট্যাগের বাইরে একটি হটফিক্স শাখা তৈরি করেন এবং সেখানে ফিক্সটি কার্যকর করেন। তবে কি তাহলে?

সাধারণত আপনি মাস্টারটিতে মার্জ হয়ে সেখানে একটি 1.1 প্রকাশের ট্যাগ রাখবেন। তবে আপনি মাস্টারে 2.0 এর পরে 1.1 পয়েন্টে মার্জ করতে পারবেন না।

আমার ধারণা আপনি হটফিক্স শাখায় রিলিজ ট্যাগটি রাখতে পারেন, তবে এটি মাস্টারের পাশে একটি স্থায়ী শাখা তৈরি করবে যাতে রিলিজ ট্যাগ থাকবে। এটা কি সঠিক পথ?


একাধিক সমান্তরাল রিলিজ শাখাগুলির সাথে গিট-ফ্লো এবং মাস্টারের সম্ভাব্য নকল [যদিও অন্য প্রশ্নটি আরও নতুন তবে এর আরও কার্যকর উত্তর রয়েছে তাই আমি এই প্রশ্নটিকে সদৃশ হিসাবে চিহ্নিত করেছি]
ড্যানিও

উত্তর:


76

মনে হয় গিট ফ্লোতে "সমর্থন" শাখার ধারণা রয়েছে। এটি আগের রিলিজটিতে হটফিক্স যুক্ত করতে ব্যবহৃত হয়।

এই থ্রেডের আরও উদাহরণ রয়েছে, এই উদাহরণগুলির সাথে:

git checkout 6.0
git checkout -b support/6.x
git checkout -b hotfix/6.0.1

... আপনার ঠিক করুন, তারপরে:

git checkout support/6.x
git merge hotfix/6.0.1
git branch -d hotfix/6.0.1
git tag 6.0.1

বা git flowকমান্ড ব্যবহার করে

git flow support start 6.x 6.0
git flow hotfix start 6.0.1 support/6.x

... তারপর পরিবর্তন করুন:

git flow hotfix finish 6.0.1

? এই সমর্থন শাখাগুলি রাখুন বা কিছু সময়ের পরে সেগুলি
ইভান হু

@ ইভানহু ভাল, নিশ্চিত আপনি যতক্ষণ না কোথাও উত্পাদনে সেই শাখা রাখবেন ততক্ষণ এগুলি রাখুন। তারপরে এটি historicalতিহাসিক রেকর্ডের বিষয়। আপনি যদি জানতে চান যে হটফিক্সগুলি পুনরায় পুনরাবৃত্তি করা উচিত তবে কীভাবে স্থির করা হয়েছিল।
ক্লাস মেলবর্ন 13

হট ফিক্সের উপর একটি প্রকাশ করা উচিত, তাই না? আমরা কীভাবে এটি করতে পারি?
রবীন্দ্রনাথ আকিলা

33

মজার প্রশ্ন! আপনার সংযুক্ত প্রবাহটি মাস্টার ধরে নিয়েছে উত্পাদন ট্র্যাক করতে পারে। এটি কেবল তখনই কাজ করে যদি উত্পাদন সংস্করণগুলি কঠোরভাবে বৃদ্ধি পায়। এটি কেবলমাত্র একটি উত্পাদন সংস্করণ রয়েছে এমন একটি ওয়েবসাইটের ক্ষেত্রে সাধারণত সত্য has

আপনার যদি একাধিক উত্পাদন সংস্করণ বজায় রাখতে হয় তবে উত্পাদন ট্র্যাক করার জন্য একটি শাখা যথেষ্ট নয়। একটি সমাধান উত্পাদন ট্র্যাক করতে মাস্টার ব্যবহার করা হয় না। পরিবর্তে, যেমন শাখা ব্যবহার করুন release1,release2 ইত্যাদি

এই পদ্ধতির ক্ষেত্রে, আপনার এমনকি কোনও হটফিক্স শাখাও লাগবে না। আপনি release1শাখায় সমস্যাটি সমাধান করতে পারেন । ফিক্স যথেষ্ট ভাল হলে, একটি তৈরি করুনrelease1.1release1 শাখায় ট্যাগ করুন ।


আপনি রিলিজ শাখায় প্রকাশের ট্যাগগুলি সেট করতে গিট-ফ্লো পরিবর্তন করতে পারেন। এটি মোটামুটি বড় পরিবর্তন। এটি বর্তমান স্ক্রিপ্টগুলি ভঙ্গ করবে। এছাড়াও, তারপর মাস্টার কি থাকবে?
ক্লাস মেলবর্ন

4
git-flowআপনি একাধিক প্রকাশনা সংস্করণ সমর্থন করার জন্য আছে যদি সাধনী দ্বারা প্রয়োগকরণ উপযুক্ত নয়। এই উত্তরে প্রস্তাবিত কর্মপ্রবাহে, মাস্টার মোটেই ব্যবহৃত হয় না। আপনি উন্নয়ন শাখার মাস্টারটির নাম রাখতে পারেন, এটি কেবল একটি নাম, সর্বোপরি।
Andomar

গিটফ্লো একাধিক প্রোডাকটিটনের
আন্দ্রে এল

7

গিট-ফ্লো অনুমান করে আপনার একবারে কেবলমাত্র একটি রিলিজ লাইনে সমর্থন করছেন, মাস্টার দ্বারা সুবিধামত ট্র্যাক করা। যদি আপনি 1 টিরও বেশি রক্ষণাবেক্ষণ করছেন তবে আপনার পৃথক প্রকাশের আপনি সমর্থন করছেন এমন একাধিক ট্র্যাকার রাখার জন্য আপনাকে গিট-ফ্লো প্রক্রিয়াটি পরিবর্তন করতে হবে (মাস্টার -1, মাস্টার -2)। আপনি সর্বাধিক সাম্প্রতিক প্রকাশের লাইনের জন্য নির্দিষ্ট ট্র্যাকারের পরিবর্তে বা মাস্টার -2 এর পরিবর্তে মাস্টার) সর্বাধিক সাম্প্রতিক প্রকাশের রেখাকে ট্র্যাক করতে মাস্টার ব্যবহার চালিয়ে যেতে পারেন।

দুর্ভাগ্যক্রমে, আপনি যে কোনও গিট-ফ্লো টুলিং ব্যবহার করছেন সম্ভবত এটি সংশোধন করা দরকার, তবে আশা করি গিট কমান্ডের সাহায্যে এই নির্দিষ্ট কেসটি সরাসরি পরিচালনা করতে আপনি গিট-ফ্লো প্রক্রিয়া সম্পর্কে যথেষ্ট পরিচিত are


আপনি যদি git flowপ্রক্রিয়াটি পরিবর্তন করেন তবে এটি অন্যরকম হবে। যদি কিছু মডেল স্থির করা উচিত (কেবল প্রসারিত নয়) তবে এটি তার লেখকের মতোই সফল। আমরা যে বিষয়ে আলোচনা করছি তার উত্তরটি আমার কাছে দেখুন।
ভিক্টর ইয়ারেমা

0

git config --add gitflow.mult-hotfix সত্য এই আদেশটি আমার পক্ষে কাজ করে বলে মনে হচ্ছে!

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