আমি কেন সংস্করণ নিয়ন্ত্রণ ব্যবহার করব? [বন্ধ]


123

আমি এমন একটি ব্লগ পড়ছিলাম যেখানে লেখক এটি বলেছিলেন

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

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

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

এটি কি এর মূল ধারণা বা আমি এটি পুরোপুরি ভুল হয়ে যাচ্ছি?

আমি যদি সঠিক হয়ে থাকি তবে এটির বেশি ব্যবহার নাও হতে পারে যদি আমি:

  • কোডে কাজ করছে এমন অন্য লোকদের নেই।
  • অন্যদের কোডটি দেওয়ার বিষয়ে পরিকল্পনা করবেন না।

4
আপনার অর্থ আপনি "কোডিং হরর" পড়ছিলেন ...
জেসন

53
এটি একটি আশ্চর্যজনক বিষয় যে অনেক বিকাশকারী (সাধারণত তাদের কেরিয়ারের প্রথম দিকে) এই মতামতটি ধরে রাখেন এবং আপনি কেবল যখন তাদের উত্স-নিয়ন্ত্রণ ব্যবহার করতে বাধ্য করেন তখনই সুবিধাগুলি তাদের মাথার মধ্যে উদ্ঘাটিত শুরু করে।
ব্যয়কারী

4
হাত যে মার্টিনহোর লজ্জা ভাগ করে না। :)
ব্যয়কারী

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

5
@ টিমএকেল, আপনি এখনও একটি সংস্করণ নিয়ন্ত্রণ ব্যবহার করছেন, কম বৈশিষ্ট্যযুক্ত অন্য ধরণের।
অভিনব গৌনিয়াল

উত্তর:


261

তুমি কি কখনো:

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

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

বন্ধুর ভুল জিজ্ঞাসা করা: একটি সভ্য বয়সের জন্য একটি সভ্য সরঞ্জাম।


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

3
দরকারী মনে হচ্ছে .. যতক্ষণ না আমি এটি শিখতে এবং আয়ত্ত করতে পারি। হেহ
potasmic

7
ভাল দিক. তবে, নোট করুন যে সংস্করণ নিয়ন্ত্রণ ব্যাকআপ নয়! একটি ব্যাকআপ পৃথক সিস্টেম / মিডিয়াতে সঞ্চিত থাকে এবং পুরানো ব্যাকআপগুলি কিছু সময়ের জন্য রাখে (কেবলমাত্র আপনার সংগ্রহস্থলটি কোনওভাবে আপ্লুত হয়)।
sleske

1
আরও sleske একমত হতে পারে না। এ কারণেই আমাদের স্ট্যান্ডার্ড ভিএম ব্যাকআপ এবং নাইট রিপোজিটরি যাচাইকরণের পাশাপাশি আমি একটি আয়না সংগ্রহস্থল রাখি যা প্রতি ঘণ্টায় সিঙ্ক হয় এবং ব্যাক আপ এবং যাচাইও হয় :) আমরা সাবভারশন ব্যবহার করি এবং ভাল প্রোডাক্ট হওয়ার জন্য স্ক্যানডেজ পেয়েছি।
si618

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

56

এমনকি যদি আপনি একা কাজ করেন তবে আপনি উত্স নিয়ন্ত্রণ থেকে উপকৃত হতে পারেন। অন্যদের মধ্যে, এই কারণে:

  • আপনি কিছু হারাবেন না। আমি আর কখনও কোড মন্তব্য করিনি। আমি কেবল এটি মুছুন। এটি আমার পর্দা বিশৃঙ্খল হয় না, এবং এটি হারিয়ে যায় না। আমি পুরানো প্রতিশ্রুতি পরীক্ষা করে এটি পুনরুদ্ধার করতে পারি।

  • আপনি ইচ্ছায় পরীক্ষা করতে পারেন। যদি এটি সমস্যার সমাধান না করে তবে তা ফিরিয়ে দিন।

  • আপনি কখন এবং কোথায় বাগ প্রবর্তিত হয়েছিল তা জানতে কোডের পূর্ববর্তী সংস্করণগুলি দেখতে পারেন। git bisectএক্ষেত্রে দুর্দান্ত।

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

  • আপনি "কি পরিবর্তন হয়েছে" দেখতে পাবেন। এটি বেসিক মনে হতে পারে তবে এটি এমন কিছু যা আমি নিজেকে অনেকগুলি পরীক্ষা করে দেখি। আমি প্রায়শই আমার এক-ব্যক্তির কাজের প্রবাহ দিয়ে শুরু করি: গতকাল আমি কী করেছি?

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

আপনি যদি স্থানীয় ভিসিএস চান তবে আপনি নিজের সাবভার্সন সার্ভার সেটআপ করতে পারেন (আমি আগে যা করেছি) তবে আজ আমি এটি ব্যবহারের পরামর্শ দেব git। অনেক সহজ। কেবল cdআপনার কোড ডিরেক্টরিতে এবং চালান:

git init

ক্লাবে স্বাগতম.


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

1
শুরু করার জন্য যেকোন কিছু ব্যবহার করুন - তারপরে যখন আপনি কিছুটা জানবেন, বিকল্পগুলি পড়ুন এবং তার মধ্যে একটির চেষ্টা করুন, তারপরে আরেকটি এবং আরও
1800 তথ্য

5
কোডটি কখনও মন্তব্য না করার বিষয়ে
বুলেটটির

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

18

সংস্করণ নিয়ন্ত্রণ একটি বিরল সরঞ্জাম যা আমি বলব একেবারে প্রয়োজনীয়, এমনকি যদি আপনি এটি কেবল একক বিকাশকারী হিসাবে ব্যবহার করেন। কিছু লোক বলে যে এটি এমন একটি সরঞ্জাম যা আপনি বেঁচে থাকেন এবং মরে যাচ্ছেন, আমি এই প্রতিবেদনের সাথে একমত।

আপনি সম্ভবত এটি এখন না জানুন এমনকি সংস্করণ নিয়ন্ত্রণ ব্যবহার করুন। আপনার কি এমন কোনও ফোল্ডার রয়েছে যা "XXX পিএইচপি কোড (ডিসেম্বর)" বা "XXX.php.bak.2" বলে? এই হয় সংস্করণ নিয়ন্ত্রণ ইতিমধ্যে ফরম। একটি ভাল সংস্করণ নিয়ন্ত্রণ ব্যবস্থা স্বয়ংক্রিয়ভাবে আপনার জন্য এটি যত্ন নেবে। আপনি সময়ের যে কোনও বিন্দুতে ফিরে যেতে সক্ষম হবেন (যে আপনার কাছে ডেটা চেক ইন আছে) এবং সেই তথ্যটির একটি অনুলিপি দেখতে সক্ষম হবেন।

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

এমনকি যদি আপনি এখন সংস্করণ নিয়ন্ত্রণ ব্যবহার না করেন তবে আপনার ক্যারিয়ারের পরে এক সময় আপনি সম্ভবত এটি ব্যবহার করবেন এবং এখনকার নীতিগুলি দিয়ে আপনি আরও আরামদায়ক হয়ে উপকৃত হতে পারেন।


16
... অথবা "MyWork এর অনুলিপি এর অনুলিপি এর অনুলিপি"
যে খরচ করে

1
@ স্পেন্ডার: হুবহু, আমি ভার্সন কন্ট্রোল ব্যবহার শুরু করার আগে অন্ধকার দিনগুলি থেকে মনে করেছি :-)
রবার্ট ভেনাবলস

এটি খুব দরকারী বলে মনে হচ্ছে এবং আমার বর্তমান প্রকল্পটি কিছুটা বড়, কমপক্ষে 150-200 ফাইল, এটি কীভাবে কাজ করে, আমি "সংস্করণ" ডু শুনি যার অর্থ সংস্করণ 1 এবং সংস্করণ 2 এর মতো, যদি সংখ্যা বৃদ্ধি হয়, আমি যদি 1 সংশোধন করি তবে ফাইলটি এবং বাকী নয়, আমার কি অশোধিত কোডের 200 কপি বা সংশোধিত ফাইলের কেবল অনুলিপি থাকবে?
জেসনডাভিস

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

1
আমি আমার উপরের মন্তব্যটি সংশোধন করার জন্য সময় নিয়ে ভ্রমণ করেছি: সংস্করণ নিয়ন্ত্রণ অগত্যা কেবল ব-দ্বীপ সংরক্ষণ করে না , তবে এটি সংস্করণটি ব-দ্বীপ হিসাবে উপস্থাপন করে।
হেনরেবোঠা

14

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


অথবা, আমি আমার ব্যাকআপগুলি থেকে সর্বশেষতম সংস্করণটি টানছি যা প্রতিবার আমি একটি ফাইল সংরক্ষণ করি।
টিম এক্কেল 21

@ টিমএকেল এবং আরও কিছু লোক কেবল তাদের পরিবর্তনগুলি ফিরিয়ে দিয়েছেন :)
অভিনব গৌনিয়াল

13

এখানে এমন একটি দৃশ্য রয়েছে যা আপনি একা কাজ করলেও উত্স নিয়ন্ত্রণের কার্যকারিতা চিত্রিত করতে পারে।

আপনার ক্লায়েন্ট আপনাকে ওয়েবসাইটে উচ্চাভিলাষী পরিবর্তনটি প্রয়োগ করতে বলেছে। এটি আপনাকে কয়েক সপ্তাহ সময় নেবে এবং অনেক পৃষ্ঠায় সম্পাদনা জড়িত। আপনি কাজ পেতে।

ক্লায়েন্ট কল করে আপনাকে সাইটে জরুরি বা আরও ছোটখাট পরিবর্তন করার জন্য আপনি যা করছেন তা ফেলে দেওয়ার জন্য যখন আপনাকে এই কাজটি দিয়ে 50% সম্পন্ন করেছেন। আপনি বৃহত্তর কাজটি সম্পন্ন করেননি, সুতরাং এটি সরাসরি যেতে প্রস্তুত নয়, এবং ক্লায়েন্ট ছোট পরিবর্তনের জন্য অপেক্ষা করতে পারে না। তবে তিনি চান যে বৃহত্তর পরিবর্তনের জন্য সামান্য পরিবর্তনটি আপনার কাজের সাথে একত্রীকরণ করা হোক।

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

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

উপরের দৃশ্যপটটি দেখায় যে উত্স নিয়ন্ত্রণ একটি দুর্দান্ত সরঞ্জাম হতে পারে, এমনকি আপনি একক কাজ করলেও।

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

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


মূল লেখক: বিল কারভিন


10

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

এটি আপনার কোডের প্রথম লাইনে ফিরে যাওয়ার মতো কোনও দৈত্য "পূর্বাবস্থায়" বোতাম রাখার মতো।


7

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

এটি আপনার কোডের পরিবর্তনগুলি ট্র্যাক করে এবং আপনাকে পূর্ববর্তী সংস্করণগুলিতে ফিরে যেতে দেয়। এটি আপনাকে জ্ঞান নিয়ে পরীক্ষা করতে মুক্তি দেয় যে যদি কোনও কিছু ভেঙে যায় তবে আপনি আপনার পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনতে পারবেন।


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

5

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


3

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

আমার ব্যক্তিগত প্রিয় গিট।


3

সংস্করণ নিয়ন্ত্রণ ব্যবহার করার বিভিন্ন কারণ রয়েছে, এমনকি যদি আপনি একমাত্র ব্যক্তি যিনি কখনও কোডটি স্পর্শ করেন।

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

আপনি যদি নিজের কোডটিকে সংস্করণ নিয়ন্ত্রণে রাখেন তবে আপনি কোন ফাইলগুলি পরিবর্তন করেছেন (বা বেসলাইনে যোগ করতে ভুলে গেছেন) তা দেখতে এটি সহজেই সহজ হয়ে যায়।


3

রিলিজের ট্যাগিং বা লেবেলিং অন্য কেউ স্পষ্টভাবে উল্লেখ করেছেন বলে মনে হয় না। আপনার সফ্টওয়্যারটির 1 সংস্করণ ব্যবহার করে যদি আপনার ক্লায়েন্ট থাকে এবং আপনি 2 সংস্করণে কাজ করতে ব্যস্ত হয়ে পড়েছেন যখন ক্লায়েন্টটি কোনও বাগ রিপোর্ট করে এবং আপনার সংস্করণ 1.1 তৈরি করতে হবে?

একটি উত্স নিয়ন্ত্রণ ব্যবস্থা আপনাকে প্রতিটি রিলিজ লেবেল করতে দেবে যাতে আপনি পরে এটিতে ফিরে যেতে পারেন, ফিক্সটি তৈরি করতে পারেন (এবং সেই ফিক্সটিকে নতুন সংস্করণ 2 কোডের সাথে একীভূত করতে পারেন) এবং এমন কোনও উদ্বেগ ছাড়াই একটি নতুন প্রকাশ করতে পারবেন যা আপনি ভুলবশত কোনও কিছু সরবরাহ করতে পারেন যা প্রস্তুত নয়

উত্স নিয়ন্ত্রণ আধুনিক সফ্টওয়্যার বিকাশের একটি মূল অঙ্গ। যদি আপনি এটি ব্যবহার না করে থাকেন (এমনকি ব্যক্তিগত প্রকল্পগুলির জন্য আরও ভাল অভিজ্ঞতা হিসাবে আপনার অভিজ্ঞতা রয়েছে) তবে আপনি কিছু ভুল করছেন।

কোনও কাজের জন্য সাক্ষাত্কারের সময় আমি প্রথম যে প্রশ্নটি জিজ্ঞাসা করি সেগুলির একটি হ'ল "আপনি সোর্স নিয়ন্ত্রণের জন্য কী ব্যবহার করবেন?" এখনও পর্যন্ত কেবলমাত্র একটি জায়গাই "কিছুই না" বলেছে তবে তারা "রিয়েল শীঘ্রই ..." ঠিক করার পরিকল্পনা করছিল


2

অন্যান্য বিকাশকারীরা অংশ নেয় বা না তা সত্যই কোনও সংস্করণ নিয়ন্ত্রণ ব্যবস্থার প্রয়োজনের জন্য অরথোগোনাল।

আপনি একমাত্র বিকাশকারী হতে পারেন তবে এর থেকে উপকার পাবেন:

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

এখন, আপনার যদি একই কোডবেস সংস্করণ নিয়ন্ত্রণের উপর বিকাশকারী একটি গোষ্ঠী রয়েছে তবে এটি আরও প্রয়োজনীয়

  • লোকেরা একই ফাইল একই সময়ে সম্পাদনা করতে পারে (নির্দিষ্ট সিস্টেমের উপর নির্ভর করে তবে বেশিরভাগ বুদ্ধিমান লোক আপনাকে এটি করতে দেয়)
  • কোডে কখন কী করেছে তা আপনি বলতে পারেন

যখন আরও লোক জড়িত থাকে তখন উন্নয়নের শৈলীর উপর নির্ভর করে আপনি কোন সংস্করণ নিয়ন্ত্রণ সরঞ্জামটি বেছে নেন সেটি আরও প্রাসঙ্গিক।


1

এটি পুরানো ফাইলটিকে ব্যাক আপ করার বিষয়েও কেন এটি "সাবভার্সন" বলা হয়। সুতরাং আপনি আপনার কাজের একাধিক সংস্করণ পরিচালনা করতে পারেন যাতে আপনি ফিরে (প্রত্যাবর্তন) ফিরে আসতে পারেন এবং এর বিভিন্ন বাস্তবায়ন (শাখা) পরিচালনা করতে পারেন।


1

আপনি দেখতে পাচ্ছেন যে আপনার প্রোগ্রামটির একটি কার্যকরী সংস্করণ ছিল।

আপনি একটি নির্দিষ্ট সময়ের মধ্যে কয়েকটি নতুন বৈশিষ্ট্য যুক্ত করার সিদ্ধান্ত নিয়েছেন এবং আপনি এটি প্রকাশ করেন।

আপনি এমন কোনও কোডকে প্রভাবিত করেছেন যা আপনি ভেবেছিলেন যে আপনি স্পর্শ করেননি affect

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

আপনি একমাত্র বিকাশকারী হয়েও উত্স নিয়ন্ত্রণের অনেকগুলি ব্যবহার রয়েছে।


1

মনে হচ্ছে আপনি কিছুটা হালকা ওজনের চেয়ে কিছু খুঁজছেন। মার্চুরিয়াল ( দুর্দান্ত রেফারেন্স বই ) দেখুন। উত্স কোড থেকে ব্যক্তিগত চিঠিপত্রের জন্য আমি এটি সমস্ত কিছুর জন্য ব্যবহার করি।

কিছু সুবিধা:

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

1

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

উত্স নিয়ন্ত্রণ ব্যবহারের পরে আমি নিজেকে আরও আক্রমণাত্মক রিফ্যাক্টরিং করতে দেখলাম কারণ আমি সর্বদা জানতাম যে একটি কার্যকরী সংস্করণ সহজেই পুনরুদ্ধার করা যায়।


1

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

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

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

আমি জিআইটি-তে এই আলোচনাটি সত্যই শিক্ষণীয় বলে মনে করেছি; http://www.youtube.com/watch?v=4XpnKHJAok8

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


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

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

@ টিম এক্কেল বলেছিলেন যে গিটহাব অকেজো, লিনাক্স অকেজো বলে মনে করার মতো - মিলিয়ন আপনার সাথে একমত হবে না, তবে আপনি যেভাবেই বলছেন কেন আপনি এই লক্ষ লক্ষের চেয়ে স্পষ্টতই স্মার্ট, তাই না?
চারলেহ

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

0

আপনি নিজেরাই কাজ করছেন এমন কি আপনি সম্ভবত পরাধীনতার মতো কিছু চাইবেন যাতে আপনার সমস্ত পরিবর্তনের ইতিহাস থাকে। আপনি কেন পরিবর্তন করেছেন তা মনে রাখার জন্য একবারে কোনও কোডের টুকরোগুলি কেমন দেখাচ্ছিল তা আপনি দেখতে চাইতে পারেন।

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


0

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

তবে কয়েক সপ্তাহ আগে আমি আমার এক বন্ধুর সাথে দেখা হয়েছিল যিনি নিজে থেকেই একটি বিশাল শখের প্রকল্প লিখেছিলেন। "X1", "এক্স 2", "পরীক্ষা", "দ্রুত" ইত্যাদির মতো প্রত্যয় সহ তার কোডটির দশ বা বিশটি অনুলিপি ছিল।

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


-2

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

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