গিট-ফ্লো এবং গিথুব সহ ​​কোড পর্যালোচনা


43

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


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

উত্তর:


29

আমরা সম্প্রতি এই সঠিক সমস্যাটিতে হোঁচট খেয়েছি। আমরা সত্যিই গিট ফ্লো পছন্দ করি, কারণ এটি সিনেমিকের একটি ভাল স্তর ব্যবহার করে (আপনি যে টিম আলোচনায় ব্যবহার করেন একই স্তরটি ব্যবহার করে: "আমি একটি শাখা তৈরি করব, এটি চেকআউট করব" এর চেয়ে বেশি "আমি বৈশিষ্ট্য A" শুরু করব)) গিটটি খুব "বাস্তবায়ন" স্তর (যা ভাল এবং দরকারী তবে ভিন্ন)।

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

আমাদের বর্তমান সমাধান:

  1. বৈশিষ্ট্য শাখা তৈরি করতে কেউ গিট ফ্লো ব্যবহার করেন
  2. হয়ে গেলে, তিনি একটি টানার অনুরোধ তৈরি করেন (গিথুব ব্যবহার করে)
  3. সম্ভাব্য অতিরিক্ত কমিটি সহ পর্যালোচনাটি ঘটে
  4. টান অনুরোধটি পর্যালোচক দ্বারা গিটহাব ব্যবহার করে মার্জ করা হয়েছে
  5. গিট ফ্লো বৈশিষ্ট্য সমাপ্তি নেই (শাখাটি ইতিমধ্যে মার্জ হয়ে গেছে)

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


3
কিভাবে একটি রিলিজ শাখা তৈরি সম্পর্কে? ট্যাগগুলি দিয়ে কী ঘটে?
ই-রিদ্দি

16

আমি যে দলটির জন্য এটির সাথে কাজ করে তা প্রক্রিয়াটি নিম্নরূপ:

  1. একটি বৈশিষ্ট্য শাখা তৈরি করুন: git flow feature start module_1
  2. কোডটি বৈশিষ্ট্য শাখায় আপডেট করা হয়েছে
  3. পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ হওয়ার সাথে সাথে এগুলিকে গিটহাবের দিকে ঠেলে দেওয়া হয় (বা একবার পছন্দ হলে প্রথমে)
  4. বৈশিষ্ট্যটি সম্পূর্ণ হয়ে গেলে গিটহাবের তুলনা developএবং বৈশিষ্ট্য শাখায় একটি টানার অনুরোধ খোলা হবেmodule_1
  5. দলটি টানার অনুরোধটি পর্যালোচনা করে মন্তব্য করে
  6. টান অনুরোধ থেকে যে কোনও পরিবর্তনগুলি বৈশিষ্ট্য শাখায় করা হয়েছে
  7. সমস্ত পরিবর্তনগুলি বৈশিষ্ট্য শাখায় অন্তর্ভুক্ত হয়ে গেলে বৈশিষ্ট্য শাখাটি শেষ হয়ে যায়: git flow feature finish module_1
  8. developশাখা GitHub পর্যন্ত পিছিয়ে দেয় হয় (GitHub স্বয়ংক্রিয়ভাবে যখন এই ঘটনার বদ্ধ / মার্জ যেমন টান অনুরোধ চিহ্নিত হবে)

সাধারণত এই সমস্ত প্রক্রিয়া মূল লেখক দ্বারা সম্পন্ন হয় তবে এটির প্রয়োজন হয় না। আমাদের দলের যে কেউ যে কোনও মুহূর্তে পদক্ষেপ নিতে এবং এই প্রক্রিয়াটি নিতে পারেন। তাদের যা করতে হবে তা হ'ল বৈশিষ্ট্য শাখাটি চেকআউট করা এবং প্রক্রিয়াটি চালিয়ে যাওয়া। কে কখনও রান করে git flow feature finish module_1তাদের স্থানীয় বৈশিষ্ট্য শাখার বিলাসিতা মুছে ফেলা হবে তবে অন্য যে কেউ শাখাটি যাচাই করে দেখেছেন তারা যদি এর মতো কিছু ব্যবহার করতে চান তবে ম্যানুয়ালি এটি করতে হবে git branch -D feature/module_1

হটফিক্সের জন্য আমরা একটি অবিচল পদ্ধতির ব্যবহার করি এবং হটফিক্স শেষ করার আগে গিটহাব-এ টানুন অনুরোধ তৈরি করি।


এই উত্তরের জন্য ধন্যবাদ। আমি বুঝতে পারি নি যে গিটটি মার্জ হওয়ার পরে পিআর বন্ধ করে দিবে।
ভিসট্রোল্লা

3

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

আপনি যখন জেরিট ব্যবহার করেন , জেরিট নিজেই কেন্দ্রীয় সংগ্রহস্থল হয়ে ওঠেন (এটি অন্তর্নির্মিত এসএসএইচ এবং এইচটিটিপি সার্ভার রয়েছে যা ব্যবহারকারীরা এটির সাথে ইতিমধ্যে একইভাবে যোগাযোগ করতে দেয়)। জেরিট ব্যবহার করার সময়, কর্মপ্রবাহটি হয়ে যায়:

  1. বিকাশকারী স্থানীয়ভাবে কমিট করে যে কোনও শাখায় পরিবর্তন করে makes
  2. বিকাশকারী এই পরিবর্তনগুলিকে জেরিটে ঠেলে দেয়।
  3. গেরিট অন্যদের পর্যালোচনা করার জন্য পর্যালোচনা আইটেমগুলি তৈরি করে।
  4. সহকর্মীরা কোডটি পর্যালোচনা করে, মন্তব্য করে এবং প্রতিশ্রুতি গ্রহণ করে বা প্রত্যাখ্যান করে।
  5. যখন প্রতিশ্রুতি স্বীকৃতি দেওয়া হয়, তারপরে গেরিট অন্যদের শাখা থেকে টানতে এই পরিবর্তনগুলি উপলব্ধ করে।

কেন্দ্রীয় সংগ্রহশালা ব্যবহার করার সময়, অন্যান্য বিকাশকারীরা দ্বিতীয় ধাপের পরে জমা দেওয়া পরিবর্তনগুলি দেখতে পাবে G

এটি গিট-ফ্লো (বা অন্য কোনও ব্রাঞ্চিং স্কিম) এর সাথে ভাল কাজ করে কারণ জেরিট যে কোনও শাখায় করা পরিবর্তনগুলি পর্যালোচনা সমর্থন করে।


3

এখানে আরও একটি পরামর্শ দেওয়া হল।

  1. কোনও বৈশিষ্ট্য তৈরি করতে নিয়মিত গিট ফ্লো প্রক্রিয়া করুন , তবে এটি শেষ বা মার্জ করবেন না।
  2. একটি টান অনুরোধ তৈরি করুন , তবে এটি একীভূত করবেন না। অনুমোদনকারী কোনও মন্তব্য করার জন্য অপেক্ষা করুন। মন্তব্যটি অনুমোদনের চিহ্ন।
  3. কি Git প্রবাহ ফিনিস । (হয় অনুমোদক বা বিকাশকারী এটি করতে পারবেন, তার উপর নির্ভর করে দলটি কী তাতে রাজি হয়েছিল) আপনার এখনও মূলতে শাখাটি মুছতে হবে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.