বড় কাজের জন্য ভাল উত্স নিয়ন্ত্রণ চেক ইন কৌশলগুলি কী কী?


9

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

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

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


আপনি কোন সোর্স কন্ট্রোল সিস্টেমগুলির সাথে পরিচিত?

@ থরবজর্ন: এসভিএন, পারফর্স এবং টিম ফাউন্ডেশন সার্ভার। তারা সকলেই তাদের প্লাস এবং বিয়োগগুলি পেয়েছেন
ডোমিনিক ম্যাকডোনেল

উত্তর:


13

আমি গিট ব্যবহার করি, সুতরাং আমার উত্তরটি "শাখা"। আপনি বিভিন্ন বিট সম্পূর্ণ করার সাথে সাথে শাখা করুন এবং টুকরা-খাবার প্রতিশ্রুতিবদ্ধ করুন।

আপনি যেমন খুশি তেমনভাবে আপনার প্রতিশ্রুতিগুলি প্রবাহিত করুন যাতে আপনার সহকর্মীরা ট্রাঙ্ক বিঘ্নিত না করে পরিবর্তনগুলি পর্যালোচনা করতে পারেন।

প্রত্যেকে কোডটি নিয়ে খুশি হলে মার্জ করুন এবং আপনার কাজ শেষ হয়েছে!

(তুলনামূলকভাবে দীর্ঘ-চলমান শাখাগুলির জন্য আমি যা করতে চাই তা পর্যায়ক্রমে আমার শাখায় ট্রাঙ্ককে (মাস্টার, গিট পরিভাষায়) একীভূত করা হয়, যাতে দুটি শাখা খুব বেশি র্যাডিক্যালি বিভক্ত হয় না))


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

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

সুতরাং মূলত সর্বোত্তম কৌশলটি হ'ল কার্যের আকারটি তুচ্ছ হওয়ার সাথে সাথেই শাখা করা এবং ট্রাঙ্কটি সাধারণ নিয়ন্ত্রণের মতো রাখার জন্য ট্রাঙ্কটিকে যতটা সংশ্লেষ করা দরকার ততটুকু শাখায় মার্জ করে দেওয়া এবং এর উত্স নিয়ন্ত্রণের সুবিধার সাথে to মধ্যবর্তী পর্যায়
ডোমিনিক ম্যাকডোনেল

1
@ ডমিনিক মূলত, হ্যাঁ, তবে আমি "আকারটি অ-তুচ্ছ" এর অর্থ গ্রহণ করি "পিয়ার তত্ক্ষণাত দেখাতে পারে এমন একক লাইনের চেয়ে আরও বেশি কিছু সঠিক বা ভুল"।
ফ্রাঙ্ক শিয়েরার

3

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

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

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


2

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

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

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


0

এসকিউএল সার্ভারের লোকদের মতামত যেমন "এটি নির্ভর করে"

যদি আপনি পারেন তবে আমি আপনাকে কোডে একটি শাখা তৈরি করার পরামর্শ দিচ্ছি যাতে আপনি নিজের কাজের ছোট চেকিন প্রয়োগ করতে পারেন। একবার সম্পূর্ণ হয়ে গেলে, মুখ্য ট্রাঙ্কের ব্যাকিন্টে একত্রিত করুন।

হ্যাঁ এটি করার প্রচেষ্টার পুনর্বার নকলের কিছু সম্ভাবনা রয়েছে। তবে কমপক্ষে আপনি কাজের কোনও ট্রেইল করবেন যা আপনি এটি রোলব্যাক করতে পারেন এটি প্রমাণিত হবে।

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