জেরিট কোড পর্যালোচনা, বা গিথুবের কাঁটাচামচ এবং টানার মডেল?


64

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

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

উত্তর:


84

জেরিট এবং গিটহাবের কর্মপ্রবাহের মধ্যে প্রধান পার্থক্য হ'ল কীভাবে পরিবর্তনগুলি মডেল করা হয়।

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

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

গিথুবের পক্ষে বড় সুবিধা হ'ল জেরিতের তুলনায় এটির সাথে পরিচিত বিকাশকারীদের সংখ্যা of গিরিট গিট শক্তি-ব্যবহারকারীদের কাছে জনপ্রিয় হতে পারে তবে এর ঘর্ষণ মুক্ত ব্যবহারের জন্য অন্তর্বর্তী বা উন্নত গিট জ্ঞান প্রয়োজন, এবং খাড়া শেখার বক্ররেখার সহনশীলতা প্রয়োজন।

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


8
ধন্যবাদ মার্টিন, এটি একটি আকর্ষণীয় উত্তর। আমি কিছুক্ষণের জন্য জেরিটের দিকে তাকানোর অর্থ পেয়েছি তবে মনে হয় আমি এটি বন্ধ করব। যদি এটি ইতিহাস সম্পাদনা এবং স্কোয়াশিং কমিটিকে উত্সাহ দেয় তবে আমি এর সাথে কিছুই করতে চাই না। * 8 '(
মার্ক বুথ

15
কেবল পরিষ্কার করার জন্য (আমি প্রায়শই আমার কর্মক্ষেত্রে জেরিট ব্যবহার করি), মার্টিন এখানে যা বলেছেন, "গেরিট ... গিট ওয়ার্কফ্লোগুলিকে উত্সাহ দেয় ... যেমন পূর্বের প্রতিশ্রুতি সংশোধন করে পুনরায় চাপ দেওয়া, বা ক্রমবর্ধমান সংস্থার স্কোয়াশ করা। ..একটা একক প্রতিশ্রুতি "ঠিক সঠিক। আমার স্পষ্টতা হ'ল "সম্পাদনা ইতিহাস" সম্পর্কে @ মার্কবুথের মন্তব্য মার্টিন যা বলেছেন তা নয়। সংশোধনের করে (এখনও Gerrit, এবং না এখনো উৎপত্তি / মাস্টার মিশে গিয়ে তৈরি) পায় না "সম্পাদনা ইতিহাস" জড়িত। আসলে, এই কর্মপ্রবাহটি দুর্দান্ত কাজ করে। ইতিহাসের 'বাজে' সম্পাদনাটি বোঝায় সম্পাদিত ইতিহাসকে উত্স / মাস্টারে পুনরায় চাপ দেওয়া।
লাইসথেস্কি

2
@Likethesky এর স্পষ্টতার জন্য ধন্যবাদ তবে আমার কাছে 'ইতিহাস সম্পাদনার ইতিহাস' এর তুলনায় আরও আক্ষরিক ব্যাখ্যা রয়েছে, এবং যতদূর আমি উদ্বিগ্ন, পরিবর্তনসেটে ফলস্বরূপ যে কোনও সামগ্রীতে আপনি স্পষ্টভাবে প্রতিশ্রুতিবদ্ধ করেন নি তা হ'ল 'ইতিহাস সম্পাদনা'। আমি বুঝতে পারি যে এটি একটি বরং কঠোর ব্যাখ্যা এবং এটি যা অন্য কয়েকজন মেনে চলে। * 8 ')
মার্ক বুথ

2
যথেষ্ট ফর্সা। :-) নিশ্চিত নয় যে "আপনি স্পষ্টভাবে প্রতিশ্রুতিবদ্ধ করেন নি এমন সামগ্রী রয়েছে এমন চেঞ্জসেটস" বলতে কী বুঝলাম আমি তা বুঝতে পেরেছি। বিস্তারিত ... আমি ধরে নিলাম যে আপনি কখনও বলছেন না যে আপনি কখনই অস্থায়ী হয়ে থাকেন না (স্থানীয়, বা প্রত্যন্ত শাখাগুলির মাধ্যমে দলীয় সদস্যদের মধ্যে ভাগ করে নেওয়া) যেমনটি করেন, "ডাব্লুআইপি: আমাদের আলোচিত খিলান সমস্যা সমাধানের এই প্রচেষ্টা", তারপরে একটি আরও কার্যকরী স্কোয়াশ / সংশোধন করে যে বলছে, "ইস্যু 123: স্থিতিস্থাপকতা এবং অনুভূমিক স্কেলিং স্বাচ্ছন্দ্য বাড়ানোর জন্য রিফেক্টরেট এক্সওয়াইজেড" সেই কাজের জন্য একটি চূড়ান্ত প্রতিশ্রুতি বার্তা হিসাবে। তবে যাইহোক, অবশ্যই আপনি যে কোনও উপায়ে গিট ব্যবহার করতে পারেন যা আপনাকে খুশি করে!
লাইসথেস্কি

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