এসভিএন গিটের চেয়ে আরও ভাল কি করে? [বন্ধ]


293

প্রশ্ন নেই যে প্রোগ্রামার সরঞ্জামগুলি নিয়ে বেশিরভাগ বিতর্ক ব্যক্তিগত পছন্দ (ব্যবহারকারী দ্বারা) বা ডিজাইনের উপর জোর দেয় , এটি হ'ল নির্দিষ্ট ব্যবহারের ক্ষেত্রে (সরঞ্জাম নির্মাতার দ্বারা) নকশাকে অনুকূল করা। টেক্সট এডিটর সম্ভবত সবচেয়ে বিশিষ্ট উদাহরণ - একটি সংকেতপদ্ধতিরচয়িতা যারা কাজ এবং কোডগুলি এ Windows এ কাজ করে Haskell, বাড়ীতে উপর ম্যাক, ক্রস-প্ল্যাটফর্ম এবং কম্পাইলার ইন্টিগ্রেশন মান এবং তাই বেছে নেয় এ গিয়ে Emacs উপর TextMate , ইত্যাদি

এটি কম সাধারণ যে সদ্য চালু হওয়া প্রযুক্তি প্রকৃতপক্ষে, প্রচলিত বিকল্পগুলির তুলনায় প্রদর্শিত হয়।

আসলেই কি ভার্সন-নিয়ন্ত্রণ সিস্টেম (ভিসিএস), বিশেষত সেন্ট্রালাইজড ভিসিএস ( সিভিএস এবং এসভিএন ) বনাম বিতরণ করা ভিসিএস ( গিট এবং মার্কিউরিয়াল ) ক্ষেত্রে?

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

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

এ থেকে আমি একমাত্র উপসংহারে পৌঁছেছি যে আমার কাছে কোনও ডেটা নেই - গিটটি আরও ভাল নয় etc.

আমার অনুমান যে এই জাতীয় পাল্টা উদাহরণ বিদ্যমান, তাই এই প্রশ্ন।


3
@ জোকুন: কোন দিক দিয়ে দক্ষ? স্থানীয় অপারেশনগুলির তুলনায় এমনকি দ্রুত ইথারনেট ধীর গতির কারণ অবশ্যই গতি নেই।
মার্টিনাস


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

3
আমি ভেবেছিলাম এসভিএন এখনও ব্যবহার করা ভাল, শিখার বক্ররেখা ভাল তখন জিআইটি।
চেউং

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

উত্তর:


207

সাবভারশন একটি কেন্দ্রীয় ভান্ডার

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

সাবস্ট্রেশন হ'ল প্রচলিত প্রজ্ঞা

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

সাবস্ট্রেশন এটি এক উপায়ে করে এবং অন্য কিছুই না

এসভিএন হ'ল একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা। এটির কাজটি করার একটি উপায় রয়েছে এবং প্রত্যেকে এটি একইভাবে করে। সময়কাল। এটি এসভিএন থেকে / অন্যান্য কেন্দ্রীভূত ভিসিএসে / থেকে স্থানান্তরকরণকে সহজ করে তোলে। গিট এমনকি খাঁটি ভিসিএস নয় - এটি একটি ফাইল-সিস্টেম, বিভিন্ন পরিস্থিতিতে কীভাবে সংগ্রহস্থল স্থাপন করতে পারে তার জন্য অনেক টপোলজিস রয়েছে - এবং কোনও মান নেই। এটি একটি চয়ন করা কঠিন করে তোলে।

অন্যান্য সুবিধা হ'ল:

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

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

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

94
কেন গিটকে কেন্দ্রীভূত পদ্ধতিতে ব্যবহার করা যাবে না? কেবলমাত্র একটি কেন্দ্রীয় ভান্ডার আছে এবং আপনার ডিভগুলি ক্লোন করতে এবং টানতে এবং ধাক্কা দিতে পারে যেমন তারা চেকআউট করে আপডেট এবং প্রতিশ্রুতিবদ্ধ।
ডেভিড থর্নলি

29
@ পলটম্বলিন - কর্মপ্রবাহের উপর নির্ভর করে গিট আরও ভাল ব্যাকআপ দিতে পারে। উদাহরণস্বরূপ, আমরা ব্যক্তিগত গিথব রেপ ব্যবহার করি এবং আমি প্রায়শই আমার কোডটি বৈশিষ্ট্যযুক্ত শাখাগুলিতে ঠেলা করি। যদি আমার সহকর্মীরা করেন তবে git fetch originগিথুব নিজে যা সরবরাহ করে ব্যাকআপ সহ তাদের প্রত্যেকেরই আমার কোডের একটি ব্যাকআপ রাখে। (আমরা নিয়মিতভাবে এবং গিথুব উভয়ই একত্রিত শাখাগুলি ছাঁটাই করি))
নাথান লং

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

131

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

এবং একটি ক্ষুদ্র ক্ষুদ্র সুবিধা: সাবভার্সন খালি ডিরেক্টরিগুলি ট্র্যাক করতে পারে। গিট ফাইলের সামগ্রীগুলি ট্র্যাক করে, সুতরাং কোনও ফাইলবিহীন কোনও ডিরেক্টরি প্রদর্শিত হবে না।


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

3
এটি মজার বিষয় যে কীভাবে এই একমাত্র ধরণের জিনিসগুলির পক্ষে এসভিএন (এবং অন্যান্য কেন্দ্রীভূত সংস্করণ নিয়ন্ত্রণ) এর পক্ষে যুক্তিযুক্ত হতে পারে
ডিউকোফেমিং

1
মজার ব্যাপার কেন? - নতুন সিস্টেমগুলি পুরানো সিস্টেমগুলি থেকে শিখতে পারে। গিটারের ওপরে আরসিএসের সাথে এমনকি একটি সুবিধা রয়েছে: ইতিহাস ফাইলগুলি সহজেই হাতে সম্পাদনা করা যায় এবং আপনার প্রতি ফাইল শাখা থাকতে পারে। তবে ইলিউশনের সাথে জড়িত রয়েছে যে বৈশিষ্ট্যগুলি হারিয়ে গেছে ...
জোহনেস

3
আমি গেমস সংস্থার কথা শুনেছি যা জিআইটি-র মাধ্যমে এসভিএনকে ঠিক এই কারণে ব্যবহার করে - যখন আপনার কোনও সংগ্রহস্থল অনেক গিগাবাইট আকারের কথা বলে, তখন হঠাৎ এটি গুরুত্বপূর্ণ হয়ে ওঠে!
জেমস

18
গিট সংস্করণ 1.8.0 হিসাবে, আপনি এখন git subtreeঠিক এটি সম্পাদন করতে কমান্ডটি ব্যবহার করতে পারেন । সর্বশেষ বিবর্তনের সুবিধাটি ধুলিকে কামড়ায় :) বিস্তারিত এখানে: github.com/gitster/git/blob/… দ্রষ্টব্য: যদিও এটি গিথুব প্রকল্পের একটি লিঙ্ক, গিট-সাবট্রি এখন মূল গিট বিতরণের একটি অংশ।
কার্ল

51

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

এর অর্থ এই নয় যে আমরা সমস্ত উন্নয়ন মার্চুরিয়ালের দিকে নিয়ে যাচ্ছি না।


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

12
@ জোকিং: আমি এসভিএনকে পছন্দ করি না তবে যদি কেউ আমাকে বলেন "আমি এই নতুন ডিভিসিএস জিনিসগুলি পছন্দ করি না, তাই আমি সিভিএসের সাথে থাকব" তবে আমি অবশ্যই এটি সুপারিশ করব : এটি অন্ততপক্ষে সহজ রাস্তা আংশিকভাবে বুদ্ধিমান ভিসিএস ;-)
জোছিম সৌর

4
@ জহকিং নতুন উপায়ে সব পরিস্থিতিতে সর্বদা সর্বোত্তম নয়। এটি নাসা কয়েক মিলিয়ন ডলার ব্যয় করে এমন একটি কলম বিকাশ করার পুরানো কাহিনী মনে রাখে যা 0 জি-তে লিখতে পারে। অন্যদিকে মহাকাশচারী পেন্সিল দিয়ে তৈরি। কখনও কখনও পুরানো উপায়গুলি আরও ভাল হয়, এখন আমার আইন বন্ধ করুন!
ম্যাপেল_শ্যাফট

25
@ ম্যাপেল_শ্যাফ্ট, এবং কখনও কখনও তা হয় না। snopes.com/business/genius/spacepen.asp
পিটার টেলর

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

32
  • পরিচালকের এবং প্রশাসকের দৃষ্টিকোণ থেকে এসভিএন সংগ্রহস্থলগুলি আরও পরিচালনাযোগ্য ( এসিএল + প্রমাণীকরণ পদ্ধতি + হটকপি + আয়না + ডাম্প)
  • এসভিএন * - হুকগুলি কার্যকর করা এবং সমর্থন করা সহজ
  • svn:external সাবমডিউলগুলির চেয়ে বেশি শক্তি এবং নমনীয়তা রয়েছে
  • কেবলমাত্র যৌক্তিক-পৃথক পৃথকীকরণ সহ একপালিত সংগ্রহস্থলের চেয়ে ফাইল-সিস্টেম-ভিত্তিক সংগ্রহস্থল গাছগুলি ব্যবহার করা সহজ
  • এসভিএন এর আরও বিভিন্ন ক্লায়েন্ট-সরঞ্জাম রয়েছে
  • এসভিএন এর তৃতীয় পক্ষের ব্যবহারযোগ্য ওয়েব-ফ্রন্টএন্ড রয়েছে, গিতের চেয়ে অনেক ভাল
  • এসভিএন আপনার মস্তিষ্ক ভাঙবে না

23
আপনার মস্তিষ্ক ভাঙবে না? Wanna কীভাবে সহজেই এসভিএন-এর দ্বন্দ্বের সাথে শাখাগুলি মার্জ করতে হয় তা আমাকে শিখিয়েছেন?
ওয়ারেনটি

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

6
গাছের দ্বন্দ্ব? পরীক্ষা করে দেখুন। হ্যাঁ বা না সমস্ত বিকল্পের? না। Svn উদ্বুদ্ধ করার জন্য ডিজাইন করা হয়েছে। ক্লিন ওয়ার্কিং কপি কমান্ড? না। প্রত্যাবর্তনগুলি রূপান্তরিত ফাইলগুলি পরিষ্কার করতে পারে না।
ওয়ারেন পি

1
সবকিছু মুছে ফেলা এবং আবার চেক আউট করা না থেকে রূপান্তরিত ফাইলগুলি পরিষ্কার হয়ে যাবে।
jgmjgm

আমি আপনার শেষ ধারণাটি পছন্দ করি, গিট আমার মস্তিষ্ককে ভেঙে দিয়েছে: '(
লুক 16

24

আমি এটি অন্য কারও জবাব সম্পর্কে মন্তব্য হিসাবে লিখেছি, তবে আমি অনুমান করি যে এটি নিজের এবং নিজের উত্তর হওয়া প্রাপ্য।

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

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


কেন্দ্রীভূততা বাস্তবের নয় মিথের বিষয়। কেউ আমাকে কিছু পরিবর্তন করতে বাধা দিতে পারে না। একটি সিভিসিএস দিয়ে তারা আমাকে কেন্দ্রীয়ভাবে কিছু পরিবর্তন করা থেকে বিরত করতে পারে। ডিভিসি তে একই জিনিস। সিভিসিএস-এ কমিট শব্দটি কমিট করে ধাক্কা দেয়।
ওয়ারেন পি

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

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

22

আমার কারণ:

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

1
"কমিটিং নম্বর স্কিম" কেবল তখনই সম্ভব যদি আপনার ক্যানোনিকাল ট্রাঙ্ক থাকে। নইলে কোনটি মুখ্য নম্বর পায়?

1
এসএনএন-তে নাম্বারিং +1 করুন। এই সংখ্যাটি অনন্য। এই সংখ্যাটি অ্যাপ্লিকেশন-সংস্করণ xx.yy.zz.12882 এর অংশ হিসাবে ব্যবহার করার জন্য সরঞ্জাম রয়েছে যেখানে 12882 হল এসএনএন সংস্করণ নম্বর। যদি কোনও প্রোডাকশন সমস্যা থাকে তবে আপনি ভার্সন নাম্বারটি জানতে চাইতে পারেন এবং আপনার ঠিক যেখানে এসএনএন-রিভিশন রয়েছে যেখানে সফ্টওয়্যারটি তৈরি হয়েছিল
বি

22

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

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

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

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


3
সত্যি? তারপরে আমি আপনাকে জীবাশ্মের দিকে নজর দেওয়ার পরামর্শ দেব ।
স্পেন্সার রথবুন

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

@ স্পেন্সাররাথবুন, ধন্যবাদ! আমি এটি একবার দেখতে হবে। গিরির জন্য বিরক্তি আছে বলে আমি এসএনএনকে ভালবাসি এটি এতটা নয়।
maple_shaft

10
@Spencer - এর বিপরীতে, উভয় একটি ব্যবহারকারী হিসেবে gitএবং hgআমি সুপারিশ করবে তত্পর যারা মনে করে জন্য gitখুব বেশী হয়। TortoiseHG হবে খুব করার জন্য ব্যবহৃত অন্য কাউকে পরিচিত টরটয়েজএসভিএন (এটা এমনকি Windows এ একই এক্সপ্লোরার প্রতিস্থাপক অংশীদারি)। এটি অবশ্যই ভিএসএসের চেয়ে অনেক সহজ এবং আমি অবাক হব যদি এইচজি রেপো স্থাপন, প্রাথমিক অবস্থার প্রতিশ্রুতিবদ্ধ হতে এবং এটি ভাগ করে নেওয়া ড্রাইভটিতে ক্লোন করতে কয়েক সেকেন্ডেরও বেশি সময় নেয় তবে আমি অবাক হব।
মার্ক বুথ

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

20

এটি সমস্ত আপেক্ষিক, এবং ম্যাপেল_শ্যাফটের মতো বলেছিল, যদি কেউ আপনার পক্ষে কাজ করে তবে পরিবর্তন করবেন না!

তবে যদি আপনি সত্যিই কিছু চান তবে আমি বলব এটি ডিজাইনার, ওয়েব প্রোগ্রামার এবং এর জন্য সম্ভবত এটি আরও ভাল it এটি চিত্র এবং বাইনারি ফাইলগুলি কিছুটা ভাল পরিচালনা করে।


2
কীভাবে এসভিএন সেগুলি আরও ভাল পরিচালনা করে? গিট প্রতিটি ফাইলকে একটি বিএলওবি বিবেচনা করে।
ওয়ারেনটি

4
@ ওয়ারেনটি ওয়ার্কফ্লোর কারণে, আপনি গিটের সাথে প্রচুর শাখা করছেন এবং মার্জ করছেন (বা কেন এটি ব্যবহার করতে বিরক্ত করছেন) এবং আপনি কেবল বাইনারিগুলিকে একীভূত করতে পারবেন না। অতএব, আপনি প্রায়শই এসভিএন-তে বাইনারি ফাইলগুলিতে "প্রয়োজনীয়তা লক" সম্পত্তি রাখেন।
gbjbaanb

1
কিছু বাইনারি (তাত্ত্বিকভাবে) মার্জ করা যায়, যেমন, একটি ওডিটি নথি।
ডোনাল ফেলো

18

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

আপনি জিজ্ঞেস গীত SVN বেশী ভালো করে আমি উত্তর দেই হবে GitHub । এটি মজাদার যে তৃতীয় পক্ষের সরঞ্জামগুলি এত বড় পার্থক্য করে।


1
এসেম্বলা ( কোনও সমর্থিত এসসিএমের জন্য - তালিকায় এসভিএন) গিথুব থেকে ভাল, আমি মনে করি
অলস ব্যাজার

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

@ লেজিবাজার, এর কথা কখনও শুনিনি।
পেসারিয়ার

16

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

(অনেকগুলি ছোট প্রকল্পগুলি যদি ভালভাবে পরিচালিত হয় তবে কখনও তাদের শাখা করতে হবে না the জটিল বিষয়গুলি লক্ষ্য করেই গিট; তাই বেশিরভাগ গিট ডকুমেন্টেশন ধরে নেয় যে আপনাকে ব্রাঞ্চিং এবং মার্জ করার মতো জটিল ক্রিয়াকলাপ করা দরকার))


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

যে কোনও সময় আপনাকে পুরানো সংস্করণগুলিতে বাগফিক্সগুলি করতে হবে আপনার ব্রাঞ্চিং এবং মার্জ করা দরকার।

1
লোকেরা এই ধারণাটি কেন বিবেচনা করে না যে পার্কিয়ালটি এসএনএন বা গিটের চেয়ে সহজ?
ওয়ারেন পি

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

14

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

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

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


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

11

কর্মক্ষেত্রে আমি বিকাশকারীদের দুটি কারণে ডিভিসিএস থেকে এসভিএন থেকে পরিবর্তন করতে পারি না :

  • আংশিক চেকআউটগুলি (প্রকল্প গাছের বিভিন্ন গভীরতার থেকে কেবল তিনটি ফোল্ডার)
  • ফাইল লকিং (বাইনারি ফর্ম্যাট রিপোর্ট)

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

প্রমাণীকরণ ইস্যু জন্য +1। গিট কমিটস এ স্বাক্ষর করা দরকার, এবং স্বাক্ষরগুলি যাচাই করা দরকার যা কঠিন।
খ্রিস্টান

6

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


2
অন্যরা "টপ-ডাউন ম্যানেজমেন্টাল কন্ট্রোল" উল্লেখ করে এটি আঘাত করেছেন। এটি আমার পরিবেশের জন্য একটি মূল উপাদান - আমাদের সংগ্রহস্থলের কয়েকটি নির্দিষ্ট ক্ষেত্র রয়েছে যা কেবলমাত্র পড়ার জন্য লক করতে হবে বা কিছু ব্যবহারকারী গোষ্ঠীর জন্য এমনকি না-পঠন করা প্রয়োজন। আমাদেরও একটি একক অবস্থান থাকা দরকার যা আমরা উল্লেখ করতে পারি এবং বলতে পারি "এটি হ'ল অনুমোদনযোগ্য মাস্টার কপি, যদি আপনার অনুলিপিটি এখানে যা কিছু মিলছে না, এটি অফিসিয়াল নয়।"
alroc

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

@ হুবার্টকারিও - এটি প্রশ্ন উত্থাপন করে, "আপনার সেরা প্রোগ্রামাররা কি অন্য লোকের কোড পরীক্ষা করে তাদের সময় কাটাতে হবে?" আসলে, আমি এই প্রশ্নের উত্তরের জন্য এত আগ্রহী, যে আমি এটি এখানে পোস্ট করেছি: প্রোগ্রামার্স.স্ট্যাকেক্সেঞ্জার
সেকশনস

5

দ্রুততা. কখনও কখনও একটি বড় গিট রিপোজিটরি ক্লোন করতে 10 বা 15 মিনিট সময় লাগে, আবার একই আকারের সাবভার্শন রিপোজিটরিটি পরীক্ষা করতে কয়েক মিনিট সময় নেয়।


6
তবে চেকআউট / ক্লোনিং করা বিরল অপারেশন। বেশিরভাগ পরিস্থিতিতে গিটটি সাবঅভার্শনের চেয়ে দ্রুত।
rd

5
git clone --depth=1আপনি যদি ইতিহাসের যত্ন না রাখেন তবে আপনার বন্ধু
হুবার্ট কারিও

4

আমি মন্তব্য না করে প্রতিক্রিয়া হিসাবে পোস্ট করি।

আমি ডিভিসিএসের চেয়ে এখনই বেশ প্রবণতায় রয়েছি স্বীকার করি তবে আমি কেন তা বলার চেষ্টা করব।

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

তবে, প্রতিটি সফ্টওয়্যার প্রকল্প যেমনটি পায় ততটা ভাল হয় না:

  • দীর্ঘমেয়াদী প্রকল্পটি ডিভিসিএস থেকে প্রচুর উপকৃত হয়েছে, কারণ এটি কম ওভারহেড ব্যবহার করে, আরও উন্নত পরিচালনার (ব্রাঞ্চিং ইত্যাদি) মঞ্জুরি দেয় এবং গুগল কোড এবং গিথাবের মতো হোস্ট দ্বারা ব্যাপকভাবে সমর্থন করে।

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

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

  • বিকাশকারীদের কাছে এমন মেশিন রয়েছে যা সংস্থার অন্তর্ভুক্ত এবং এটি দ্রুত পরিবর্তন হতে পারে। রেপো কনফিগার করা সময় নষ্ট হয়।
  • যদি এই ছেলেরাগুলির নিজস্ব মেশিন না থাকে তবে তারা একই উত্স কোড / প্রকল্পের অংশে কাজ করার সম্ভাবনা কম। কেন্দ্রীভূত ডেটার জন্য প্লাস ওয়ান।
  • নেটওয়ার্কের গতি এবং বড় অর্থের সাহায্যে সেন্ট্রালাইজড সার্ভার ব্যবহারের অনুমতি দেওয়া হয় যা সমস্ত এসভিএনের সাথে ডিল করে, এটি খারাপ অভ্যাস তবে ব্যাকআপগুলি তৈরি হয় ইত্যাদি allows
  • এসভিএনটি ব্যবহার করা কেবল সহজ , এটি ভুল উপায় হলেও: অপ্রয়োজনীয়তা ছাড়াই পিয়ার্সের সাথে ফাইলগুলি সিঙ্ক্রোনাইজ করা কোনও সহজ সমস্যা নয় এবং আপনি সর্বদা এটি নিখুঁত রাখতে চান যদি "সঠিক উপায়ে করুন" ঠিক সময়ে এটি তৈরি করতে পারে না।

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

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


আপনি গেম শিল্প উদাহরণ ব্যাখ্যা করতে পারেন?
জননি

3

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

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

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

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

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

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

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


2

আমি এখনও এসভিএন এর সাথে রয়েছি এমন দুটি কারণে নীচে।

  1. শেখার বক্ররেখা। এসভিএন গিট, এমনকি সেটআপ (সার্ভার বা ক্লায়েন্টও), ব্যবহারযোগ্যতা এবং আদেশের চেয়ে সহজ।
  2. সাবভারশন এজ , ভিজ্যুয়ালএসভিএন , উবারএসভিএন ইত্যাদির মতো আরও ভাল সার্ভার প্যাকেজ

1
# 1 এর জন্য +1। এখানে এসভিএন বনাম জিআইটি ডায়াগ্রামের সাথে তুলনা করুন steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git
s_t_e_v_e

1

এখনই সংস্করণ নিয়ন্ত্রণে দুটি বড় ট্রেন্ড রয়েছে; বিতরণ, এবং একীকরণ

গিট বিকেন্দ্রীকরণে দুর্দান্ত।

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

এসভিএন দিয়ে এটি করে এমন সরঞ্জামগুলি পরিপক্ক এবং প্রতিদিন ব্যবহৃত হয়।


-1

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

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

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


1
গিট করতে এটিও সোজা; যেমন, গিট --amend; এটি করার আরেকটি উপায় হ'ল গিট রিসেট --সোফট হেড ^ এর মাধ্যমে, যা কেবল ফিরে যায় তবে সূচী পরিবর্তন করে না এবং আপনি কমিট বার্তা সম্পাদনা / পুনরায় লিখতে পারেন।
ডগ

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

1
আমি কীভাবে "আপনি ইতিহাসের সাথে ঘুরতে পারেন" অভিযোগ হিসাবে এটি একটি বৈশিষ্ট্য । আমি এটি বাগ হিসাবে বিবেচনা করব যদি এটি উদ্দেশ্যমূলক না হত।
সিএওও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.