একক বিকাশকারী হিসাবে শাখা ব্যবহারের সুবিধা কী কী?


117

প্রথমত, আমি সচেতন যে একক বিকাশকারী হিসাবে ভিসিএস সম্পর্কে অনেক প্রশ্ন জিজ্ঞাসা করা হয়েছিল, তবে সেগুলি প্রায়শই খুব বিস্তৃত হয়। এটি কেবল শাখাগুলি নিয়েই উদ্বেগ প্রকাশ করে, এবং এখনও এটি একটি সদৃশ হিসাবে চিহ্নিত করা হয়েছে ... অনুমিত নকলটি আবারও অন্য প্রশ্নের নকল হিসাবে চিহ্নিত হয়েছে যা খুব বিস্তৃত এবং বিশেষত শাখা প্রশাখায় উদ্বেগ নয়। এভাবেই আমার প্রশ্নটি অনন্য।

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


14
আমি দুঃখিত, আমি স্বীকার করি যে আমি স্ট্যাকএক্সচেঞ্জ মডেলটিতে খুব অভিজ্ঞ নই, তবে আমি কি বুঝতে পারি যে 'সেরা অনুশীলন', বা অন্য কোনও প্রশ্ন যার একক, নির্বিচারবাদী উত্তর নেই তা ভঙ্গুর করা হয়েছে, এমনকি নয় আলোচনার অনুমতি দেওয়া হয়েছে? আমি এই প্রশ্নটির 'সম্পর্কিত' বিভাগেও যেমন ধারণাযুক্ত বৈধ প্রশ্নের প্রচুর মতামত ভিত্তিক উদাহরণ দেখতে পাচ্ছি, যেমন সফ্টওয়্যারেনজেনারিং.স্ট্যাকেক্সেঞ্জ / সেকশন /
সেকশনস /

8
আমি যখন মানুষের সাথে একমত হই যে এই প্রশ্নটি হুবহু সদৃশ নয় (স্কোপের পার্থক্যগুলি তাৎপর্যপূর্ণ), তবে আপনার আগ্রহী বিষয়টির জবাব দেওয়ার জন্য ডুপ টার্গেট প্রশ্নের জিনাত লিঙ্কটি ঘটবে - এমন কি কিছু আছে? উত্তরগুলি কভার করেনি যে আপনি আরও শুনতে চান?
jrh

4
আমার চিন্তাভাবনাটি ছিল যে সেই প্রশ্নটি সেই বিষয়টিকে অন্তর্ভুক্ত করার সময় এটি এতটা স্পর্শকাতরভাবে (ব্যবহারকারীটি শাখার বিভিন্ন দিক সম্পর্কিত 3 টি পৃথক প্রশ্ন জিজ্ঞাসা করে) এবং বাস্তবে সেই কারণেই প্রশ্নটি 'খুব বিস্তৃত' হওয়ার কারণে বন্ধ হয়ে গিয়েছিল। আমি আশা করছিলাম এই একই সুনির্দিষ্ট প্রসঙ্গে ভিসিএসের এই খুব নির্দিষ্ট বৈশিষ্ট্যটি নিয়ে আলোচনা শুরু করব। আপনার প্রশ্নের উত্তর দেওয়ার জন্য, এখন পর্যন্ত এর কয়েকটি দিক এখানে উল্লেখ করা হয়েছে (এই উত্তরগুলির উত্তর এবং মন্তব্যে) যা আপনার উল্লেখ করা প্রশ্নের জবাবগুলিতে উল্লেখ করা হয়নি। আপনার অবদানের জন্য আপনাকে সকলকে ধন্যবাদ।
ফ্ল্যাটারিনো


3
ড্যান, আবার ... আপনি যে প্রশ্নটি যুক্ত করেছেন তা জিজ্ঞাসা করে "একমাত্র বিকাশকারী হিসাবে, গিট বা গিটহাবের বৈশিষ্ট্যগুলি কী আমি এখনই আমার উপকার করতে পারে সেগুলির সুবিধা নিতে পারি?"। এই প্রশ্নের একটি সম্ভাব্য উত্তর, অন্যদের মধ্যে, "শাখা" হতে পারে। এটা আমার প্রশ্নের উত্তর হবে না। এছাড়াও, এটি একই কারণে খুব বিস্তৃত হিসাবে বন্ধ ছিল। আমার প্রশ্নের শীর্ষে দয়া করে ব্যাখ্যাটি পড়ুন। আমাকে এখনই আমার পোস্টটি 3 বার সম্পাদনা করতে হবে ...
ফ্ল্যাটারিনো

উত্তর:


199

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

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

ডিভিসিএসগুলি ক্লোনগুলিতে করা হয় এমন অন্তর্নিহিত শাখার অর্থ হ'ল অনুমোদনমূলক সংগ্রহস্থলের আনুষ্ঠানিক শাখাগুলি মানুষকে সমন্বয় করা সম্পর্কে কম এবং উন্নয়নের দিকনির্দেশনা সমন্বয় সম্পর্কে আরও বেশি, এবং এমনকি কোনও একক ব্যক্তিও এর একাধিক করতে পারেন।


1
যথাযথভাবে। গোষ্ঠীগুলিকে শাখা ব্যবহার করতে হবে না , for আমি এমন দলের হয়ে কাজ করেছি যা হয়নি। মঞ্জুর, এটি বেশিরভাগই গিটের সাথে অপরিচিততার বাইরে ছিল এবং এই দলগুলির সমস্ত শাখা শাখাগুলি ব্যবহার করতে শিখেছিল কারণ সেগুলি ব্যবহার না করার ক্ষেত্রে সমস্যাগুলি উপস্থিত হয়েছিল, তবে এই সমস্যাগুলি কেবল একক বিকাশকারীকেও প্রযোজ্য।
কেআরয়ান

42

দীর্ঘকাল ধরে চলমান উন্নয়ন

একটি একক ব্যক্তি দলের জন্য শাখা দীর্ঘকাল ধরে চলমান বিকাশের বৈশিষ্ট্যের জন্য কার্যকর হবে যা অন্যথায় আপনার প্রকাশের চক্রের সাথে খাপ খায় না।

আপনার বহু-মাস ব্যাপী পরিবর্তনের জন্য আপনি একটি শাখা নিতে পারেন এবং এখনও নিয়মিত বিরতিতে আপনার প্রধান শাখা থেকে যে কোনও দিন-দিন বাগ ফিক্স বা পরিবর্তনগুলি ধাক্কা দিতে সক্ষম হবেন।

আপনার মূল শাখাটি সর্বদা একটি স্থাপনযোগ্য অবস্থায় থাকে এবং আপনার গ্যারান্টি রয়েছে যে দীর্ঘ চলমান বৈশিষ্ট্যের কোনও কিছুই অন্য, পূর্ববর্তী পরীক্ষিত কোডের উপর প্রভাব ফেলেনি।

পরীক্ষামূলক বৈশিষ্ট্য

আপনি যে বৈশিষ্ট্যগুলি প্রোটোটাইপ করতে ইচ্ছুক হতে পারে তার জন্য একটি শাখাও কার্যকর হতে পারে তবে এটি কখনও আপনার মোতায়েন কোডে নাও পারে। আমার চূড়ান্তভাবে ফেলে দেওয়া হবে এমন একটি শাখায় এগুলি সম্পূর্ণ করার অর্থ হ'ল আপনি কখনই আপনার মূল কোডবেজকে অযৌক্তিকভাবে দূষিত করবেন না।


16

আমি এটি সমালোচনামূলক ওয়েবসাইট রক্ষণাবেক্ষণের জন্য ব্যবহার করি। আমি একমাত্র বিকাশকারী তবুও আমার একজন মাস্টার রয়েছে, শাখা বিকাশ এবং ইস্যু করে।

সাইট সেটআপের জন্য আমার কাজের প্রক্রিয়াটি দেখতে এমন দেখাচ্ছে:

  1. কর্মক্ষম মাস্টার শাখা করুন। প্রাথমিক প্রতিশ্রুতি দিন।

  2. চেকআউট শাখা বিকাশ। কিছু করবেন না, মাস্টারে মার্জ হওয়ার জন্য টেস্ট বাফার হিসাবে ফাংশন বিকাশ করুন।

  3. চেকআউট ইস্যু শাখা। আপনার সমস্যাটি কোড করুন, এটি হয়ে গেলে, এটি বিকাশে টানুন, দেখুন কোনও সমস্যা উত্থাপিত হয়েছে কিনা, বিরোধগুলি মার্জ করুন ইত্যাদি ... এগুলি ঠিক করুন।

যখন মুক্তির জন্য পর্যাপ্ত সমস্যাগুলি বিকাশে মিশে যায় এবং স্থিতিশীলতার জন্য বিকাশ পরীক্ষা করা হয়, তখন বিকাশকে মাস্টার হিসাবে টানুন।

   Master
     |
   Develop  - E
   / |  \  \
 A   B   C  D

এইভাবে আপনি বিকাশে একটি সম্পূর্ণ পরীক্ষার সংগ্রহ পান যেখানে আপনি স্থিতিশীলতা, সমস্যা ইত্যাদি পরীক্ষা করতে পারেন ... মাস্টারকে আঘাত করার ঝুঁকি না নিয়ে এবং ক্ষতিকারক হলে প্রতিশ্রুতি রোল না করে।

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

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

এই দৃশ্যকল্প বিবেচনা করুন: আপনি সর্বদা একটি প্রধান শাখা কাজ এবং আপনি য়ে সব অলৌকিক কাজ ওপেন হার্ট সার্জারি আপনার মাস্টার শাখা ছেড়ে একটি YugeBug ™ যে জরুরী ফিক্সিং প্রয়োজন অন্যভাবে ব্যবহারকারীদের হাজার হাজার BigProblems ™ সম্পর্কে আপনাকে অভিযোগ করবে পপ আপ মধ্যে AwesomeCodeThing ™ আছে
দ্য এই জাতীয় পরিস্থিতিতে আপনার সমস্যার সমাধান করার একমাত্র উপায়,

  1. আপনার পূর্ববর্তী কমিটগুলি পরীক্ষা করুন,
  2. আপনার শেষ স্থিতিশীল প্রতিশ্রুতি কখন ছিল তা দেখুন (অভিশাপ optionচ্ছিক)
  3. প্রতিশ্রুতি ফিরে রোল
  4. ফিক্স করা, ধাক্কা উত্পাদন থেকে আউট
  5. আপনি এখন AwesomeCodeThing ™ স্থিতিতে ফিরে যাওয়ার চেষ্টা করছেন এমন সমস্ত দ্বন্দ্ব এবং সমস্যার সমাধান করুন
  6. ছেড়ে দিন, কান্নাকাটি করুন এবং কাজ শুরু করুন (optionচ্ছিক)

আপনি যদি শাখা ব্যবহার করেন:

  1. চেকআউট মাস্টার
  2. শাখাটি আর্জেন্টফিক্স create তৈরি করুন এবং স্টাফগুলি ঠিক করুন
  3. মাস্টার মধ্যে UrgentFix master টানুন
  4. উত্পাদন ধাক্কা
  5. মাস্টারকে বিকাশে মার্জ করুন
  6. অসাধারণ কোডডিং develop তে বিকাশ করুন ™
  7. একটি বিয়ার পান এবং কাজ চালিয়ে যান।

13
চালিয়ে যাওয়ার আগে বিয়ার পাওয়া অ-alচ্ছিক।
জেমসবি

4
@ জেমসবি শুরু করার আগে একটি বিয়ার পাওয়া অ-
alচ্ছিক

4

শাখাগুলি একবারে একাধিক বৈশিষ্ট্যগুলিতে কাজ করা সহজ করে তোলে যা কোনও প্রকল্পের সময় অগ্রাধিকারগুলি পরিবর্তিত হলে যথেষ্ট সহায়ক হতে পারে।

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

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

একটি বাস্তব প্রক্রিয়া হিসাবে, আমি গিট ফ্লো ভাল কাজ করে দেখতে। ড্যানিয়েল কুমারের গিট ফ্লো চিট শিট একটি দুর্দান্ত রিসোর্স, আপনি গিট ব্যবহার না করলেও এটি দেখার মতো it's


2

অন্যান্য পোস্টার দ্বারা উল্লিখিত হিসাবে, সুবিধাগুলি দলে কাজ করার জন্য যথেষ্ট পরিমাণে অনুরূপ: স্বতন্ত্রভাবে বৈশিষ্ট্যগুলি বিকাশ এবং পরীক্ষা করার ক্ষমতা, হটফিক্স / প্রোডাকশন মোতায়েন, পরীক্ষার জন্য একটি পৃথক মাস্টার শাখা বজায় রাখার ক্ষমতা।

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

তবে, আমি যে পরিবর্তনগুলি করছি তার বিষয়ে আমি যদি কোনও দ্বিধা বোধ করি তবে আমি শাখা করব এবং শাখা প্রত্যাশা অনুযায়ী আচরণ করলে এবং সাধারণত সম্পূর্ণরূপে পরীক্ষিত হয়ে গেলে কেবলমাত্র PR / মার্জ হয়ে যায়। এইভাবে, যদি আমি এমন কোনও সমস্যা আবিষ্কার করি যার জন্য পিছনে ঘুরিয়ে দেওয়া কর্মের সেরা কোর্স, এটি একটি সম্পূর্ণ সিরিজের পরিবর্তে একক প্রতিশ্রুতি রয়েছে (ধারাবাহিক প্রতিশ্রুতি রোলব্যাক করার সিনট্যাক্সটি আমি কখনই মনে করতে পারি না তবে একটি একক সহজ)।

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