গীতব-প্রবাহ বনাম গিতুব-প্রবাহের কী কী উপকারিতা রয়েছে? [বন্ধ]


125

আমরা সম্প্রতি গিটল্যাব ব্যবহার শুরু করেছি।

বর্তমানে একটি "কেন্দ্রীভূত" ওয়ার্কফ্লো ব্যবহার করছেন।

আমরা গিথুব-প্রবাহে যাওয়ার বিষয়টি বিবেচনা করছি তবে আমি এটি নিশ্চিত করতে চাই।

অনুকূল এবং কনস কি কি Git-প্রবাহ বনাম GitHub-প্রবাহ ?

উত্তর:


133

গিটমিনেটস পর্বের ১ in তে যেমন আলোচনা হয়েছে, নিকোলাস জাকাস তাঁর " গিটারহাবের একটি কোম্পানির অভ্যন্তরে কর্মপ্রবাহ " নিয়ে তাঁর নিবন্ধে :

গিট-ফ্লো হ'ল গিটের পরিবর্তনগুলি পরিচালনার জন্য একটি প্রক্রিয়া যা ভিনসেন্ট ড্রাইসেন তৈরি করেছিলেন এবং সেই প্রবাহ পরিচালনার জন্য কিছু গিট এক্সটেনশান সহ ছিলেন।
Git-প্রবাহ পিছনে সাধারণ ধারণা বিভিন্ন পৃথক শাখা যে সবসময় অস্তিত্ব আছে, একটি ভিন্ন উদ্দেশ্যে প্রতিটি: master, develop, feature,release , এবং hotfix
বৈশিষ্ট্য বা বাগ বিকাশের প্রক্রিয়াটি অবশেষে প্রকাশের আগে এক শাখা থেকে অন্য শাখায় প্রবাহিত হয়।

কিছু উত্তরদাতারা ইঙ্গিত দিয়েছিলেন যে তারা git-flowসাধারণভাবে ব্যবহার করে।
কিছু এর সাথে শুরু হয়েছিল git-flowএবং এ থেকে সরে গেছে।

দূরে সরে যাওয়ার প্রাথমিক কারণ হ'ল git-flowপ্রক্রিয়াটি একটি অবিচ্ছিন্ন (বা কাছাকাছি-অবিচ্ছিন্ন) মোডমেন্ট মডেলটিতে মোকাবেলা করা শক্ত।
সাধারণ অনুভূতিটি হ'ল git-flowআরও বেশি traditionalতিহ্যবাহী রিলিজ মডেলের পণ্যগুলির জন্য ভাল কাজ করে যেখানে প্রতি কয়েক সপ্তাহে একবার রিলিজ করা হয় তবে আপনি যদি একদিন বা একাধিকবার মুক্তি পান তবে এই প্রক্রিয়াটি যথেষ্ট পরিমাণে ভেঙে যায়

সংক্ষেপে:

যতটা সম্ভব মডেল দিয়ে শুরু করুন (যেমন গিটহাব প্রবাহ যেমন থাকে) এবং আপনার প্রয়োজনে আরও জটিল মডেলের দিকে এগিয়ে যান।


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

  1. master সর্বদা ডিপ্লয়যোগ্য হতে হবে।
  2. বৈশিষ্ট্য শাখার মাধ্যমে করা সমস্ত পরিবর্তন (পুল-অনুরোধ + মার্জ)
  3. সংঘাত এড়ানোর / সমাধানের জন্য পুনর্বাসন; মধ্যে একত্রীকরণmaster

https://a248.e.akamai.net/camo.github.com/9783623eba280ba5ace8b9e63842be52af2f0546/687474703a2f2f7374617469632e62656e65742e61692f736b697463682f666c6f772d32303133303932362d3139333431392e706e67


প্রকৃত আরো সম্পূর্ণ এবং শক্তসমর্থ কর্মপ্রবাহ জন্য, দেখুন gitworkflow (এক শব্দ)


88

রূপালী বুলেট ওয়ার্কফ্লো নেই যেখানে প্রত্যেকের অনুসরণ করা উচিত, যেহেতু সমস্ত মডেল সাব-অনুকূল। এটি বলার পরে, আপনি নীচের পয়েন্টগুলির উপর ভিত্তি করে আপনার সফ্টওয়্যারটির জন্য উপযুক্ত মডেলটি নির্বাচন করতে পারেন;

উত্পাদনের একাধিক সংস্করণ - গিট-ফ্লো ব্যবহার করুন

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

উত্পাদনের সহজ সফটওয়্যারের একক সংস্করণ - গিথুব-প্রবাহ ব্যবহার করুন

যদি আপনার কোডটিতে সর্বদা একমাত্র সংস্করণ থাকে তবে (যেমন ওয়েব সাইট, ওয়েব পরিষেবাদি ইত্যাদি) আপনি গিথুব-প্রবাহ ব্যবহার করতে পারেন। মূল কারণ হ'ল বিকাশকারীর জন্য আপনার জটিল জিনিসগুলির দরকার নেই। বিকাশকারী একবার কোনও বৈশিষ্ট্য শেষ করে বা ত্রুটি সঙ্গে সঙ্গে প্রোডাকশন সংস্করণে প্রচারিত একটি বাগফিক্স শেষ করে।

উত্পাদনের একক সংস্করণ তবে খুব জটিল সফ্টওয়্যার - গিটলব-প্রবাহ ব্যবহার করুন

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


7
কেবলমাত্র "গিটড্মজ-প্রবাহ" / "গিট ডিএমজেড ফ্লো" তালিকায় যুক্ত করুন: gist.github.com/djspiewak/9f2f91085607a4859a66
রবার্ট ফে

1
সংস্থাগুলি ট্রাঙ্ক ভিত্তিক সিস্টেম ব্যবহার করে। paulhammant.com/2014/01/08/…
প্যাট্রিকওয়াকার

1
গিট ডিএমজেড প্রবাহ গিটফ্লোয়ের সাথে আরও মিল এবং ডিএমজেড শাখা বিকাশ শাখার মতো। অতএব আমি এটি সম্পর্কে বিশেষ কিছুই অনুভব করি না।
গায়ান প্যাটিরেজ

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

5
@ গেয়ানপাঠিরেজ আসলে তা নয়। 1. "ক্লাসিক" মাস্টার এ গিটফ্লো ট্যাগ। হটফিক্স শাখাটি কেবলমাত্র সর্বশেষ উত্পাদনের সংস্করণ (মাস্টার থেকে) এর বিপরীতে কোনও স্থির করার জন্য। ২. "রিলিজ ব্রাঞ্চ" এর অর্থ গিটফ্লোতে অন্য কিছু, যা প্রকৃতপক্ষে প্রাক-প্রকাশের পূর্বরূপ শাখা (বিকাশকারী শাখা থেকে শাখা করা, এবং যখন এটি সত্যই প্রকাশিত হয় তখন মাস্টারটিতে মার্জ করার লক্ষ্যে)। ৩. আপনি যা উল্লেখ করছেন তা হ'ল গিটফ্লোতে "সমর্থন শাখা" নামে পরিচিত (এটি আমি গিটফ্লোকে অপছন্দ করি তার এক কারণ: অপ্রচলিত পরিভাষা)। তবে এটি এখনও পরীক্ষামূলক প্রবাহ (তাই আপনি এটি বেশিরভাগ গিটফ্লো ইন্ট্রোসে দেখতে পাবেন না)
অ্যাড্রিয়ান শাম

38

আমি এক বছরেরও বেশি সময় ধরে গিট-ফ্লো মডেল ব্যবহার করছি এবং ঠিক আছে।

তবে এটি কীভাবে আপনার অ্যাপ্লিকেশনটি বিকাশ ও স্থাপন করা হবে তার উপর নির্ভর করে।

আপনার অ্যাপ্লিকেশনটি যখন ধীর বিকাশ / স্থাপনার প্রবাহ থাকে তখন এটি ভাল কাজ করে।

তবে উদাহরণস্বরূপ, গিটহাবের মতো আমাদের একটি অ্যাপ্লিকেশন রয়েছে যার দ্রুত বিকাশ / স্থাপনার প্রবাহ রয়েছে, আমরা প্রতিদিন স্থাপন করি এবং মাঝে মাঝে বেশ কয়েকবার এই ক্ষেত্রে, গিট-ফ্লো আমার মতে সমস্ত কিছু কমিয়ে দেয় এবং আমি গিটহাব ব্যবহার করি প্রবাহিত।

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

কমপক্ষে একটি জিইউআই রয়েছে যা ম্যাক এবং উইন্ডোজ সোর্সট্রি -এর জন্য গিট-ফ্লো সমর্থন করে ।

আজকাল, আমি গিটহাব প্রবাহের দিকে আরও ঝুঁকছি, এর সরলতা এবং পরিচালনা করা সহজ কারণে। এছাড়াও, "প্রায়শই প্রায়শই মোতায়েন করুন" কারণ ...

আশাকরি এটা সাহায্য করবে


+1 টি। আমি আপনার সাথে একমত.
ভোনসি

2
গিটহাব ফ্লো গিট-ফ্লো এর মধ্যে রয়েছে। ভাবুন আপনার যদি অবিচ্ছিন্ন একীকরণ এবং অবিচ্ছিন্ন স্থাপনার প্রয়োজন হয় তবে আপনি কেবল বিকাশকারী শাখা দিয়ে যতটা সম্ভব চালাতে পারেন। প্রতিটি বৈশিষ্ট্য বিকাশকারী শাখা থেকে ব্রাঞ্চ করা হয়। আপনার জটিল স্থাপনা মডেল না থাকলে আপনার মাস্টার শাখা বা রিলিজ শাখার দরকার পড়তে পারে না। (যেমন আপনার ১.১ সংস্করণটি কিছু ক্লায়েন্টের উপরে সরাসরি আপনার 1.2 অন্য ক্লায়েন্টের উপরে লাইভ এবং বর্তমানে আপনি আপনার নতুন ক্লায়েন্টের জন্য 1.3 বিকাশ করেছেন) সমস্ত 3 ক্লায়েন্ট তাদের নিজ নিজ সংস্করণে বাগ ফিক্স এবং পরিবর্তনগুলি জিজ্ঞাসা করবে।
গায়ান প্যাটিরেজ

হ্যালো দিয়েগো এবং আপনার উত্তরের জন্য আপনাকে ধন্যবাদ। একাধিক সংস্করণ রক্ষণাবেক্ষণ সম্পর্কে কি? আপনি কি গিট ফ্লো দিয়ে এটি সহজেই করেন? শুনেছি এটা শক্ত কারণ আপনার সমর্থন শাখা দরকার! আপনি কি বিশ্বাস করেন যে মডেলটি এটির জন্য উপযুক্ত?
লুইস

1
হাই লুইস, আমি মনে করি আপনি মডেলটি কাজ করতে পারবেন তবে আবার আমার মনে হয় আপনি একটি স্ট্যান্ডার্ড গিট ওয়ার্কফ্লো দিয়ে এটি অর্জন করতে পারেন।
দিয়েগো অ্যান্টুনস

1
@ লুইসগুভিয়া আসলে, আপনার প্রশ্ন এবং আমার উত্তরের পর থেকে, আমি এমন একটি প্রকল্পের মুখোমুখি হয়েছি যে গিট-ফ্লো পুরোপুরি কার্যকর হবে এবং প্রকল্পটির আমার মালিকানা আছে। git flow release...অ্যাপ্লিকেশন মোতায়েনের জন্য গিথুব অ্যাকশনগুলির সাথে একত্রে ব্যবহার করার ধারণা । আমার আসল প্রতিক্রিয়াতে, আমি উল্লেখ করেছি যে আমরা একদিনে একাধিকবার মুক্তি দিয়েছি, গিট-ফ্লো ব্যবহার করার সময় সমস্যা দেখা দিয়েছে। এই প্রকল্পে গিট-ফ্লো ভালভাবে কাজ করবে বলে আমি মনে করি কারণ আমাদের একটি পূর্বনির্ধারিত রিলিজ চক্র রয়েছে, যা গিট-ফ্লো ব্যবহারের জন্য অন্যতম প্রধান বিক্রয় পয়েন্ট।
দিয়েগো অ্যান্টুনস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.