আপনি অবিলম্বে কেন মার্জ পরিবর্তনগুলি করবেন না?


16

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

আমি একটি টিউটোরিয়াল নথি তৈরি করছি যা গিট এবং সোর্সট্রি এর মধ্য দিয়ে যায় এবং প্রক্রিয়াটির প্রতিটি পদক্ষেপের ব্যাখ্যা দেয়। টান প্রক্রিয়াতে, সোর্সট্রি কথোপকথন আপনাকে "তাত্ক্ষণিকভাবে সংযুক্ত পরিবর্তনের প্রতিশ্রুতিবদ্ধ" বিকল্পটি নির্বাচন করতে দেয়। আমি বুঝতে পারি এটি কী করে এবং কেন এটি কার্যকর। আমি যা বুঝতে পারি না তা হ'ল কেন কেউ এই বৈশিষ্ট্যটি ব্যবহার করতে চাইবে না

কেউ কেন ব্যাখ্যা করতে পারে যে আপনি কেন নিজের মার্জড পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে প্রতিশ্রুত করতে চান না? আমি যুক্তিটি বোঝার চেষ্টা করছি যাতে আমি বৈশিষ্ট্যের কার্যকারিতা আরও ভালভাবে ব্যাখ্যা করতে পারি এবং ভবিষ্যতে কী কী সমস্যাগুলি সন্ধান করা উচিত তার একটি ধারণা পেতে পারি।

সম্পাদনা: আমি বিশ্বাস করি না যে আমার প্রশ্নটি লিঙ্কিত প্রশ্নের সদৃশ। লিঙ্কযুক্ত প্রশ্নটি কতবার প্রতিশ্রুতিবদ্ধ তা ব্যাপকভাবে জিজ্ঞাসা করছে। আমি কেন সোর্স ট্রিতে মার্জ করে ঘাটতি সম্পর্কিত কোনও নির্দিষ্ট বৈশিষ্ট্যটি ব্যবহার না করা বেছে নেব তা সম্পর্কে জিজ্ঞাসা করছি।



1
আপনি কি ভাল কারণ চান? কারণ আমি কোডটি চেক করতে দেরি করার বিভিন্ন কারণ প্রদান করতে পেরেছি যা আমি বন্য মানুষকে বলতে শুনেছি, তবে এর কয়েকটি কম কারণেই ভাল কারণ রয়েছে।
21

একমাত্র কারণ আমি ভাবতে পারি যখন মার্জ সংঘাতের কারণে কোনও মার্জ ব্যর্থ হয়। তবে সোর্সট্রি যেভাবেই ঘটলে তা প্রতিশ্রুতি দেবে না।
রবার্ট হার্ভে

একদিকে নোট: কেন আপনি নিজের টিউটোরিয়াল লিখছেন? বিটবাকেটের একটি দুর্দান্ত টিউটোরিয়াল ইতিমধ্যে রয়েছে। confluence.atlassian.com/bitbucket/…
উইঙ্কব্র্যাস

@ উইঙ্কব্র্যাস আমরা বিটবকেট ব্যবহার করছি না; আমরা স্থানীয় নেটওয়ার্কে সবকিছু রাখি। আমি আটলাসিয়ান এর দুর্দান্ত টিউটোরিয়ালটি উল্লেখ করি , তবে আমি গিট এবং সংস্করণ নিয়ন্ত্রণে একেবারে নতুন ছিল এমন লোকদের হাতে আমি আরও কিছুটা সংক্ষিপ্ত কিছু দিতে চেয়েছি। এটি সত্যিই আরও পরিচিতি এবং পদ্ধতিগত "এটি কীভাবে এবং আপনি কীভাবে প্রতিশ্রুতি / ধাক্কা / টান / ইত্যাদি" করেন যাতে লোকেরা দৌড়াতে পারে hit
ডেভিড কে

উত্তর:


26

আমি এই বৈশিষ্ট্যটি ব্যবহার করতে চাই না।

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

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


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

4
@ রবার্তাহারভে হ্যাঁ তবে আমি সম্ভবত প্রধান শাখাটি আমার শাখায় মার্জ করি। আপনার মন্তব্যে একটি লুকানো অনুমান আছে যে বিভিন্ন বৈশিষ্ট্যগুলি স্বাভাবিকভাবেই বিভিন্ন শ্রেণি / মডিউলগুলিকে স্পর্শ করবে তবে সকলেই ভাগ্যবান নয়। (দুর্ভাগ্য) ভাগ্যের দ্বারা আপনার কোথাও একটি Godশ্বরের বর্গ রয়েছে যা কিছু করে যার প্রত্যেককে স্পর্শ করা দরকার এবং আপনি এটি সম্পর্কে খুব বেশি কিছু করতে পারবেন না। এছাড়াও ক্রস কাটিং বৈশিষ্ট্য রয়েছে (কিছু লাইব্রেরি আপগ্রেড করুন যার কারণে কোডের প্রতিটি 10 ​​লাইনের একটিতে পরিবর্তন হওয়া প্রয়োজন ...) আমি "সেখানে না যাওয়ার চেষ্টা করুন" যুক্তিটি জানি, তবে আপনি যদি ইতিমধ্যে উপস্থিত হন তবে কী হবে? দুঃখিত চেয়ে ভাল নিরাপদ.

2

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

আপনি যদি এই বিকল্পটি সেট না করেন, ফাইলগুলি উত্সত্রী পরিবর্তন হিসাবে উপস্থিত হবে উত্সট্রিতে।

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

সুতরাং, এই বৈশিষ্ট্যটি ব্যবহার না করতে চাওয়ার কারণটি স্বতঃস্ফূর্ত: আপনি নিজেই প্রতিশ্রুতিটি সম্পাদন করতে চান, বা একেবারেই নয়।

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

তাত্ত্বিকভাবে - কোনও বৈশিষ্ট্য নেই - কারণ এই বৈশিষ্ট্যটি ব্যবহার না করার জন্য বাস্তবে, বেশ কয়েকটি ভাল কারণ থাকতে পারে। আপনার টিউটোরিয়ালটি সম্পর্কে, আমি কেবল এটিই বলব যে "100 এর মধ্যে 99 বার, এটি আপনি বিকল্পটি ব্যবহার করতে চান"। আমি মনে করি না যে এটি ব্যবহার না করার বিষয়ে আপনাকে সত্যিকারের বিশদে যেতে হবে, বিশেষত যদি অন্যরা সংস্করণ নিয়ন্ত্রণে নতুন। এই টিউটোরিয়ালটি কীভাবে গভীরতর হতে চান তার উপর নির্ভর করে।


2

আপনি যদি নিজের পোস্টগুলি (স্বয়ংক্রিয়ভাবে /programming//a/7925891/6781678 হিসাবে ) চাপানোর জন্য কোনও পোস্ট কমিট হুক ব্যবহার করছেন তবে সন্দেহজনক মানের কিছু প্রতিশ্রুতি না দেওয়ার জন্য আপনার এই বিকল্পের প্রয়োজন হতে পারে।

আমি কখনও ব্যবহার করব না।

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