গিট ব্যবহারকারীরা কেন বলেন যে সাবভারশন স্থানীয়ভাবে সমস্ত উত্স কোড নেই?


23

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

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

আমি বুঝতে পারছি না. আমি এই বিন্দু বাদে অন্যের তুলনায় একটির পুনঃস্থাপনের জন্য বলছি না।


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

উত্তর:


69

আপনি যে ভিত্তিটি জিজ্ঞাসা করছেন তা সত্যই ভুল:

গিট ওভার সাবভারসিওনের একটি বড় সুবিধা হ'ল গিট স্থানীয়ভাবে বিকাশকারীকে সমস্ত উত্স কোড দেয়

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

এইটার মতো কিছু একটা হচ্ছে।

বৈধরূপে প্রতিষ্ঠিত সরকারকে উত্খাত:

আপনার কোড <-> সংগ্রহস্থল

git:

আপনার কোড <-> আপনার স্থানীয় সংগ্রহস্থল <-> একটি দূরবর্তী সংগ্রহস্থল (... <-> অন্য একটি রিমোট রেপো এবং আরও অনেক কিছু)

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

সাবভার্সনের মাধ্যমে আপনাকে অন্য লোকের জন্য বিল্ড ভেঙে ফেলার ঝুঁকিপূর্ণ হতে হবে বা কোনও উত্স নিয়ন্ত্রণ ছাড়াই দীর্ঘকালীন স্থানীয় বিকাশ ঘটাতে হবে যা বিশাল প্রতিশ্রুতি (বা সম্ভবত প্রত্যাবর্তন) দিয়ে শেষ হয়।

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


10
এটি একটি খুব সুন্দর উত্তর এবং "... অন্য লোকের জন্য বিল্ড ভেঙে ফেলার ঝুঁকি বা কোনও উত্স নিয়ন্ত্রণ ছাড়াই দীর্ঘায়িত স্থানীয় বিকাশের ঝুঁকির সাথে ..."
চার্লস স্প্রেবেরি

1
@ স্প্রে: ধন্যবাদ! আমি নিশ্চিত যে অন্যান্য সুবিধাগুলিও রয়েছে, তবে এটি এসভিএন-এর সাথে আমার সবচেয়ে বড় ব্যথা।
গোরান জোভিক

গিট এফটিডাব্লু (আরও 8 জন যেতে ...)
ট্রেভর বয়ড স্মিথ

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

1
@ জর্জিও: এটি চেষ্টা করে দেখুন এবং আপনি জানতে পারবেন :) সিরিয়াসলি, আমি মনে করি না যে আমি কোনও সমস্যা ছাড়াই এটি করতে পেরেছি (সম্পূর্ণ ম্যানুয়াল মার্জ করা বাদ দিয়ে, কোন ধরণের সরঞ্জামটির উদ্দেশ্যকে পরাস্ত করে)
গোরান Jovic

17

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


1
@ মুরফ ধন্যবাদ মূলত আমি যা বোঝাতে চেয়েছিলাম সেটাই ছিল। আমি স্পষ্ট করার চেষ্টা করেছি।
আমেন্তি

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

@ ড্যানিলির মন্তব্যটি সম্ভবত ২০১২ সালে যুক্তিসঙ্গত ছিল, তবে ৪ বছর পরে কোনও গিট প্রকল্প খুঁজে পাওয়া প্রায় অসম্ভব যে কোনও এসএসডি
ইগোর স্টপপা ২ '

7

সংক্ষিপ্ত উত্তরটি হ'ল: গিটের সাথে আপনার উত্স কোডের সমস্তটি রয়েছে, আপনার উত্স কোডটির সর্বশেষতম সংস্করণটি সাবভার্শন সহ ।

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


2

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

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

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


1

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

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

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