কোডটি কখন কমিট করবেন?


59

কোনও প্রকল্পে কাজ করার সময়, কোডটি এক সপ্তাহে যুক্তিসঙ্গতভাবে দ্রুত বা কিছু সপ্তাহ / মাস / বছরের দীর্ঘ সময়ের জন্য কিছুটা হলেও বাড়ানো যেতে পারে। কোড কমিটগুলি প্রকল্প বিকাশের একটি পরিমাপ হিসাবে বিবেচিত হয়ে উঠছে, এর অর্থ এই নয় যে এরকম প্রকল্পের চেয়ে কম কোড লেখা আরও কম কোড রয়েছে has

সুতরাং প্রশ্নটি হল সত্যিকারের ভাণ্ডারটি কখন ভাণ্ডারকে প্রতিশ্রুতিবদ্ধ করা যায়?

অ্যাড-অন হিসাবে: কোনও প্রকল্পের অঙ্গীকারের উপর নির্ভর করে তার উন্নয়ন পরিমাপ করা কি সঠিক অনুশীলন?


9
সহজেই পরিমাণমতোযোগ্য বেশিরভাগ জিনিসগুলি খারাপ মেট্রিকগুলি হয় কারণ সেগুলি বেশি পরিমাণে বোঝানো হয় বা নির্দিষ্ট পরিমাপের বিপরীতে ভাল সম্পাদন করার জন্য সহজেই গেমড করা যায়।
আনহোলিসম্প্লার

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

উত্তর:


79

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


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

34

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

এটি বলেছে, আপনি যদি একটি দলে কাজ করেন তবে আপনার যে প্রতিশ্রুতিবদ্ধ তা পূর্ণ হয়েছে, তা বোঝা যায়, পরিষ্কার করে তোলে এবং অন্য কারও জিনিস ভাঙে না তা নিশ্চিত করার প্রথাগত। আপনার যদি বৃহত্তর পরিবর্তনগুলি করা দরকার যা অন্যান্য লোকের কাজে হস্তক্ষেপ করতে পারে তবে একটি শাখা তৈরি করুন যাতে আপনি অন্য কাউকে বিরক্ত না করে প্রতিশ্রুতিবদ্ধ করতে পারেন।

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

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


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

হ্যাঁ, তবে কিছুটা কম মাত্রায়, কারণ (মূল উত্তর দেখুন) আপনি সরাসরি কাউকে বিরক্ত করবেন না। প্রশ্নে থাকা এসসিএমের উপর নির্ভর করে, যদিও সাধারণত উজানের দিকে প্রবাহিত হওয়ার আগে আপনার প্রতিশ্রুতিবদ্ধ ইতিহাসটি পরিষ্কার করা ভাল অনুশীলন হিসাবে বিবেচিত হয় (যেমন git rebase -i)।
tmadmers

13

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

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


+1 আশ্চর্যরূপে এটি আরও উত্সাহিত করা হয়নি। এটি আমার প্রথম চিন্তা ছিল - ডিভিসিএস বা ভিসিএস
মাইকেল

9

আপনার প্রথম এবং প্রায়ই প্রতিশ্রুতিবদ্ধ করা উচিত।

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

আপনার কত ঘন ঘন প্রতিশ্রুতিবদ্ধ করা উচিত? বলা শক্ত, তবে সম্ভবত আপনি এখনকার চেয়ে অনেক বেশি বার। আরও বেশি করে প্রতিশ্রুতিবদ্ধ থাকুন, এমন একটি বিন্দু আবিষ্কার করুন যা মনে হয় এটি অযৌক্তিকভাবে খুব ঘন ঘন হয় এবং তারপরে কিছুটা পিছনে ফিরে আসে। আপনার যুক্তিসঙ্গত কিছু শেষ হওয়ার সম্ভাবনা রয়েছে with

আপনি কোনও পণ্যের ব্যবহারকারীর কাছে বিতরণ করা মানের ভিত্তিতে বিকাশ পরিমাপ করেন। অন্য কোনও সঠিক পরিমাপ নেই।


1
+1 টি। আপনি যখন বিডিডি-আস-ইফ-ইউ-মিইন-ইট, রিফ্যাক্টর টিল ইউ ড্রপ, অ্যাটমিক কোডিং এবং একটি অত্যন্ত ভাবপূর্ণ ভাষা একত্রিত করেন, 90 সেকেন্ডে কমিটমেন্ট ছাড়াই দীর্ঘ সময় হতে পারে।
Jörg ডব্লু মিটাগ

8

কমিটগুলি কোনও সংস্করণ নিয়ন্ত্রিত ডেটা / কোডের বিল্ডিং ব্লক। প্রতিটি প্রতিশ্রুতিবদ্ধদের নিম্নলিখিতগুলির মধ্যে একটি করে করা উচিত:

  • ডেটা বা ফাংশন একটি নতুন টুকরা যোগ করুন
  • এক বা একাধিক বাগ ঠিক করা (সম্ভব হলে প্রতিটি ফিক্সের জন্য একটি কমিট) যেখানে ফিক্স হতে পারে:
    • কর্মক্ষমতা বৃদ্ধি
    • ভুল কোড আচরণ সংশোধন করা হচ্ছে
    • টাইপোগ্রাফিক ত্রুটিগুলি সরানো
  • শব্দার্থবিজ্ঞান পরিবর্তন না করে কোড বা ডেটা রিফ্যাক্টরিং। এটা অন্তর্ভুক্ত:
    • লিখনের কোড যা মূলের সাথে অভিন্ন আচরণ করে
    • উপাত্তের উপস্থাপনাটিকে আলাদা ফর্ম্যাটে পরিবর্তন করা হচ্ছে
    • প্রকল্পের ফর্ম্যাটিং গাইডলাইনগুলি পূরণ করতে কোড বা ডেটা ফর্ম্যাট করা
  • অন্য শাখা থেকে পরিবর্তনগুলি মার্জ করুন (হয় উজানে / ডাউনস্ট্রিম)

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

প্রতিশ্রুতিবদ্ধরা যদি উপরোক্ত নিয়মটি অনুসরণ করে তবে তা একেবারে তুচ্ছ হয়ে যায়:

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

কমিটির উপর ভিত্তি করে প্রকল্পের অগ্রগতি পরিমাপের বিষয়ে, যদি রিফ্যাক্টরিং কমিট করে এবং বাগ ফিক্সিংয়ের কমিটগুলি আমলে না নেওয়া হয় তবে এটি সম্ভব।


আমি মনে করি এই উত্তরটি অবশ্যই গ্রহণযোগ্য উত্তর হতে পারে তবে সম্ভবত প্রশ্নকর্তা একটি সহজ ব্যাখ্যা খুঁজছিলেন :)
বাহনাম রসুলি

7

কেবলমাত্র যখন আপনি প্রদত্ত ফাংশন / মডিউল / কার্যকারিতা সফলভাবে ইউনিট পরীক্ষা করেছেন এবং আপনাকে যুক্তিসঙ্গতভাবে আশ্বাস দেওয়া হবে যে এটি ইন্টিগ্রেশন বা সিস্টেম পরীক্ষার জন্য প্রস্তুত।

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


5
যদি আপনি ট্রাঙ্কে প্রতিশ্রুতিবদ্ধ হন তবে এটি সত্য হবে তবে আপনি যদি কোনও বৈশিষ্ট্য শাখা বা একটি ব্যক্তিগত শাখায় প্রতিশ্রুতিবদ্ধ হন তবে এটি সংহতকরণের জন্য প্রস্তুত হওয়ার দরকার নেই।
নিল বাটারওয়ার্থ

1
@ নীল বাটারওয়ার্থ: ... যদি না আপনার কোডে কিছু নির্ভরতা নিয়ে একই শাখায় কাজ করা অন্য বিকাশকারী না থাকে।
হতাশ

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

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

2
@ জর্জ - এটি একটি মিথ্যা দ্বৈতত্ত্ব omy আসল দ্বিবিজ্ঞানটি ব্যক্তিগত (প্রতি বিকাশকারী) শাখাগুলি বা জনসাধারণের (বেশ কয়েকটি বিকাশকারী দ্বারা ভাগ করা) ব্যবহারের মধ্যে রয়েছে। আপনি বিতরণকৃত ভিসিএসের কেন্দ্রিয়ায়িত ব্যবহার করছেন কিনা তা রক্ষাকারী (যদিও ডিভিসিএসগুলি ব্যক্তিগত শাখাগুলি উত্সাহিত করে, শাখাগুলি প্রাইভেট হিসাবে শুরু না করা পর্যন্ত আপনি প্রকাশ না করেন)।
স্টিফেন সি স্টিল

6

অ্যাড-অন হিসাবে: কোনও প্রকল্পের অঙ্গীকারের উপর নির্ভর করে তার উন্নয়ন পরিমাপ করা কি সঠিক অনুশীলন?

না কেন এটি একটি ভয়াবহ ধারণা কেন একটি দৈনিক ডাব্লুটিএফ ছিল

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

এটি সঙ্কলন করে না তবে কখনও চেক ইন করবেন না। আমি জানি এটি বোকামির মতো বলে মনে হচ্ছে আসলে উচ্চস্বরে বলতে হবে তবে আমার আগে এটি লোকদের কাছে ব্যাখ্যা করতে হয়েছিল।


1
সংকলন সতর্কতার জন্য +1। আমাদের অফিসে একটি পিগি ব্যাঙ্ক ছিল যেখানে প্রত্যেককে প্রত্যেক সময় তার / সে কিছু করার জন্য একটি ফি দিতে হয়েছিল যা ফলস্বরূপ একটি বিল্ডকে ব্যর্থ করে দেয়। দুঃখজনকভাবে আমরা এইভাবে বেশ কিছু অর্থ পেয়েছি, কমপক্ষে প্রাথমিকভাবে :)
রায়

@ রায় - আমার শেষ স্থানে, জরিমানাটি লোটোর তহবিলে গেছে। হায় আফসোস, আমরা কখনই এটিকে খারাপ অভ্যাস থেকে দূরে রাখি না। : পি
টায়না

1

কোডটি যখন অন্য ব্যবহারকারীদের সাথে ভাগ করার জন্য প্রস্তুত হয় তখন একটি অঙ্গীকারবদ্ধ করুন - যখন এটি তুলনামূলকভাবে স্থিতিশীল, নিরাপদ এবং সঠিকভাবে পরীক্ষা করা হয়।

এবং না, আমি মনে করি না যে প্রকল্পগুলি উন্নয়নের জন্য কমিটগুলি একটি দুর্দান্ত মেট্রিক, কারণ আমি এমন কিছু বিকাশকারীকে জানি যা প্রতিটি ছোট এবং ছোটখাট পরিবর্তন ঘটায় এবং অন্যরা যা কার্যক্ষমতায় কেবল বিশাল পরিবর্তন আনবে। আপনি কীভাবে পরিমিতভাবে অন্যটির প্রতিশ্রুতিবদ্ধতার মান পরিমাপ করবেন?


মনে রাখবেন যে বিতরণ করা সিস্টেমগুলির সাথে, কমিট করুন = ভাগ করুন। আপনার যখন ভাগ করার জন্য কিছু প্রস্তুত থাকে তখন আপনার চাপ দেওয়া উচিত ।
রেন হেনরিচস

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

যা আপনি আরও ভাল সরঞ্জাম থেকে উপকৃত হতে পারে যে একটি ইঙ্গিত হতে পারে। যে কোনও কিছু যা ঘন ঘন ঘন ঘন প্রতিরোধকে বাধা দেয় তা হ'ল একটি অপ্রয়োজনীয় বাধা।
রিন হেনরিচস

@ রিন হেনরিচস: আমি তর্ক করব না !!
হতাশ

1

সাথে সাথে সংশ্লিষ্ট কাজটি শেষ হয়ে যাবে । একটি কার্য একটি ব্যবহারকারীর গল্পের একটি অংশ ।

একটি কাজ করা হয় যখন:

  • সংশ্লিষ্ট ইউনিট পরীক্ষা পাস,
  • কোড সঠিকভাবে নথিভুক্ত এবং
  • কোড কমিট করা হয়

আপনি সম্পন্ন একটি পৃথক সংজ্ঞা থাকতে পারে

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


1

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

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

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

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

এখানে এটি কীভাবে গিটের সাথে কাজ করে তবে অধ্যক্ষটি কোনও সংস্করণ নিয়ন্ত্রণে প্রয়োগ করে।


এটি 10 ​​টি পূর্ব উত্তরে তৈরি এবং ব্যাখ্যা করা পয়েন্টগুলির তুলনায় যথেষ্ট কিছু দেওয়ার প্রস্তাব দিচ্ছে না। এছাড়াও, শেষ অনুচ্ছেদে গিট-নির্দিষ্ট বৈশিষ্ট্য উল্লেখ করা হয়েছে যখন প্রশ্নটি গিট সম্পর্কে নয় বলে মনে হচ্ছে
gnat

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

-1

কখন:

  • এটি তৈরি করে (সর্বদা)
  • ইউনিট পরীক্ষা পাস
  • এটি কাজ করে (যদি না এটি পরিষ্কারভাবে "কাজ চলছে" হিসাবে চিহ্নিত করা হয়)
  • কোডগুলির রাজ্য সংরক্ষণের সুবিধাগুলি পরীক্ষা চালানোর ঝামেলা বাড়িয়ে তোলা, একটি ভাল প্রতিশ্রুতি বার্তা ভেবে এবং প্রতিশ্রুতিবদ্ধ প্রক্রিয়া চলাকালীন যেকোনো সংহত দ্বন্দ্ব সমাধান করা ving

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