গিটফ্লো ব্যবহার করার সময় কোনও রিলিজ শাখা বা মাস্টার শাখা ট্যাগ করা উচিত?


16

এই সমস্যাটি ইঙ্গিত করে যে:

আমার বোঝাপড়া থেকে মার্জ করার আগে রিলিজ শাখায় ট্যাগ লাগানো (এবং মাস্টার শাখায় নয়) আসলে এটি করার জন্য সঠিক জিনিসটি এটি গিট বর্ণনা দ্বারা পাওয়া যাবে - বিকাশকারী শাখা থেকেও - ট্যাগগুলি। # 374 দেখুন

যখন অন্য একটা পোস্টে :

আমি আজ ঘটনাক্রমে হোমব্রিউয়ের মাধ্যমে 0.4.2-পূর্ব সংস্করণ ইনস্টল করেছি এবং সেই সংস্করণে ট্যাগিংয়ের কাজটি বিভ্রান্ত হয়ে পড়েছিল। পূর্বে (সংস্করণ 0.4.1) মুক্ত শাখাটি এতে মিশ্রিত হওয়ার পরে, মাস্টার শাখায় ট্যাগটি তৈরি করা হয়েছিল। এখন মনে হচ্ছে ট্যাগটি মুক্তির শাখার শেষ প্রতিশ্রুতিতে তৈরি করা হয়েছে, যা আমার পক্ষে ভাল ধারণা বলে মনে হয় না। বিশেষত যদি আপনার কাছে এমন একটি বিল্ড-সিস্টেম থাকে যা গিট ট্যাগগুলির উপর নির্ভর করে এবং যদি হেড একটি ট্যাগযুক্ত প্রতিশ্রুতি এবং বিকাশ সংস্করণ থাকে তবে নিম্নলিখিতটির মধ্যে যদি এটির কোনও একটি মান্য করে। কেউ আমাকে এই পরিবর্তনের পিছনে যুক্তি ব্যাখ্যা করতে পারে? এবং অর্থশাস্ত্রীয় সংস্করণের ক্ষেত্রে আমি এটিকে প্যাচ-স্তরের সংস্করণ হিসাবে বিবেচনা করব না!

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

এখানে চিত্র বর্ণনা লিখুন

দেখে মনে হচ্ছে যে এই ট্যাগটি মাস্টারের উপরে রাখা হয়েছে।


1
আমি জানি আপনি যখন পুরানো শাখাগুলি দূরে ছাঁটাই করেন তখন গিটল্যাব শাখাগুলিতে ট্যাগ নিয়ে লড়াই করে, তাই ট্যাগটি মাস্টারে থাকলে আরও ভাল better অন্যান্য গিট সরঞ্জাম সম্পর্কে নিশ্চিত না।
হুরুসকোল

'গিটফ্লো' বোঝায় যে এটি (আইএমও দুর্বল) ওয়ার্কফ্লো হ'ল মানক বা অফিসিয়াল গিট ওয়ার্কফ্লো। এটা না।
মাইলস রাউট

@ মাইলসআউট আপনার প্রিয় গিট ওয়ার্কফ্লো কি?
030

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

উত্তর:


16

প্রথমত, আপনি শাখাগুলি ট্যাগ করতে পারবেন না, আপনি কেবল কমিটগুলিকেই ট্যাগ করতে পারবেন।

আপনি আসলে প্রকাশিত প্রতিশ্রুতি ট্যাগ করা উচিত। ভার্সন-ট্যাগিং কমিটের পয়েন্ট এটি। আপনার যদি কিছু পরিবেশে (সফ্টওয়্যার বা অন্যথায়) আপনার সফ্টওয়্যার নিয়ে সমস্যা থাকে তবে আপনি আত্মবিশ্বাসের সাথে বলতে পারেন যে সমস্যাটি সেই প্রতিশ্রুতি দ্বারা প্রবর্তিত হয়েছিল যে মুক্তিটি এসেছে।

(এই কারণেই লোকেরা 'পুনরুত্পাদনযোগ্য বিল্ডস' সম্পর্কে কথা বলে: তাই তারা আত্মবিশ্বাসী হতে পারে যে তাদের মুক্তির প্রক্রিয়াটি নতুন বাগগুলি প্রবর্তন করছে না যা তাদের পূর্বরূপ / মঞ্চ পরিবেশে উপস্থিত ছিল না, এবং যদি তাদের উত্পাদনে কোনও বাগ থাকে তবে বাইনারি যখন তারা এটি ডিবাগ করতে যায় তখন তাদের মেশিনে চলছে)

নীচে থেকে দ্বিতীয় সবুজ কমিটকে ট্যাগ করার কোনও বিন্দু নেই (কমিটের সবুজ শিশু 'কেবলমাত্র বাগফিক্স হিসাবে চিহ্নিত হয়েছে!') কে 'ভি 1.0' হিসাবে চিহ্নিত করেছে কারণ আপনি সেই প্রতিশ্রুতি প্রকাশ করেননি। আপনি মাস্টার সম্পর্কে প্রতিশ্রুতি প্রকাশ করেছেন। এমনকি আপনি দেখতে পাচ্ছেন যে গিট ফ্লো এটিকে 'ট্যাগ 1.0' হিসাবে চিহ্নিত করেছে।

মনে রাখবেন, ট্যাগগুলির একটি উদ্দেশ্য থাকে: সহজেই কমিটগুলি সন্ধান করা। আপনি 'ভি 1.0' হিসাবে একটি প্রতিশ্রুতি ট্যাগ করেছেন যাতে আপনি সংস্করণ 1.0 হিসাবে প্রকাশিত জিনিসটি সহজেই খুঁজে পেতে পারেন। আপনি বাস্তবে প্রকাশিত প্রতিশ্রুতির কাছে অস্পষ্টভাবে আপনার প্রতিশ্রুতি গাছের কোথাও 'ভি 1.0' ট্যাগ থাকার কারণে আপনি এটি ট্যাগ করেন না।

আপনার যদি আপনার বিকাশ শাখা থেকে ট্যাগগুলি খুঁজে পেতে সমস্যা হয় তবে এটি সম্পূর্ণ আলাদা issue ট্যাগগুলি খুঁজতে আপনি যে সরঞ্জামটি ব্যবহার করছেন তা ঠিক করুন। বা আরও ভাল: গিট-ফ্লো ব্যবহার করবেন না। সুন্দর চিত্রের বিন্দু এবং সুন্দরভাবে রেখাযুক্ত রেখাগুলির কারণে এটি চিত্রটিতে দেখতে সুন্দর দেখাচ্ছে তবে বাস্তবে এটি রঙিন লাইন এবং বিন্দুগুলির একটি উন্মাদ অগোছালো ওয়েবের মতো দেখাচ্ছে।


3
You should tag the commit you actually release। সুতরাং উদাহরণস্বরূপ, যদি 20 টি কমিটকে মুক্তি দিতে হবে যা রিলিজ শাখায় থাকে এবং এই শাখাটি মাস্টারের সাথে একীভূত হয়, তবে যে মার্জ কমান্ডটি তৈরি হয়েছে তা কি প্রকাশিত হয়েছে তা জানতে ট্যাগ করতে হবে?
030

1
হ্যাঁ, মার্জ কমিটিকে ট্যাগ করা হবে। গিট-প্রবাহের বৈকল্পিক হিসাবে, আমি সরাসরি পৃথক "ভার্সন বাম্প কমিট" তৈরি / ট্যাগ করতে দেখেছিbranch:master
rmharrison
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.