কেন গুরুর চেয়ে মার্কুরিয়াল সহজ বলে বিবেচিত হয়?


204

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


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

16
কারণ এটি লিনাস তৈরি করেছিলেন?
কাজ

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


11
আমি আশ্চর্য হই যে গিথুব উপস্থিত না থাকলে, বা এটিতে এতগুলি হাই-প্রোফাইল প্রকল্প না থাকলে কত লোক গিট ব্যবহার করবে?
ক্রিস এস

উত্তর:


240

দৃষ্টিতে কেস: বলুন যে আপনি আপনার সমস্ত পূর্ববর্তী কমিটের উপর ব্যবহারকারীর নামটি পরিবর্তন করতে চান। বিভিন্ন কারণে আমার বেশ কয়েকবার এটি করা দরকার ছিল।

গিট সংস্করণ

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "<Old Name>" ];
        then
                GIT_COMMITTER_NAME="<New Name>";
                GIT_AUTHOR_NAME="<New Name>";
                GIT_COMMITTER_EMAIL="<New Email>";
                GIT_AUTHOR_EMAIL="<New Email>";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

মার্চরিয়াল সংস্করণ:

লেখক। কনভার্ট.লিস্ট ফাইল:

<oldname>=<newname>

কমান্ড লাইন:

hg convert --authors authors.convert.list SOURCE DEST

এখন, কোনটি ব্যবহার করা সহজ বলে মনে হচ্ছে?


দ্রষ্টব্য: আমি গিটের সাথে পুরোপুরি কাজ করে 2 বছর ব্যয় করেছি, সুতরাং এটি "আমি এটি ঘৃণা করি না, 2 সেকেন্ডের মধ্যে আমি এটি পাইনি" nt

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

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

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

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

গিট ব্যবহারকারীরাও খুব সংস্কৃতির মতো বলে মনে হয়েছিল। গিট ব্যবহারকারীরা সবসময়ই "পবিত্র যুদ্ধ" শুরু করে বলে মনে করেন যার উপর ডিভিসিএস আরও ভাল which Http://whygitisbetterthanx.com/ এর মতো সাইটগুলি অহংকার প্রদর্শন করে এবং প্রায় "আমার সফটওয়্যারটি ব্যবহার কর বা মরা" মানসিকতা দেখায়। অনেক সময় আমি এক্সকে না জানার জন্য, এক্স ব্যবহার করার আগে, উইন্ডোজ ইত্যাদি ব্যবহারের জন্য উদ্ভট হওয়ার জন্য বিভিন্ন সাহায্যের জায়গায় গিয়েছি It's


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

মার্চুরিয়ালের সাথে আমার এসএসএইচ বাজে কথা নেই (উইন্ডোজে এসএসএইচ হেল ইজ), আমার বোকামি জটিল কমান্ড নেই, আমার কোনও কাল্ট ইউজার নেই, আমার ক্রেজি নেই। মার্চুরিয়াল কেবল কাজ করে।

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

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

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

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

মার্চুরিয়াল কেবল প্রথমবারের মতো, প্রতিবার কাজ করে। গিট আমার পথে চলে যায় এবং আমি যত বেশি এটি ব্যবহার করি তা কেবল আমাকেই ক্ষুব্ধ করে।


6
মন্তব্যকারীগণ : মন্তব্যগুলি স্পষ্টতা চাওয়ার জন্য, বর্ধিত আলোচনার জন্য নয়। আপনার যদি সমাধান হয় তবে একটি উত্তর দিন। যদি আপনার সমাধানটি ইতিমধ্যে পোস্ট করা থাকে তবে দয়া করে এটি upvote করুন। আপনি যদি এই প্রশ্নটি অন্যের সাথে আলোচনা করতে চান তবে চ্যাটটি ব্যবহার করুন । আরও তথ্যের জন্য FAQ দেখুন ।

1
ইন্টেলিজ আইডিইএ এবং এক্সকোড 4 এর নিজ নিজ প্ল্যাটফর্মে গিটের সাথে এবং প্রতিদিনের কাজের জন্য আপনাকে কখনই কমান্ড লাইন ব্যবহার করতে হবে না wonderful

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

2
গিট এক্সটেনশানগুলি আমি ব্যক্তিগতভাবে উইন্ডোতে টর্টোইজএইচজির চেয়ে নেভিগেট করতে এবং কাজ করতে অনেক সহজ মনে করি এবং আমি কেবল গিট সহ 1 টি কমান্ড লাইন ব্যবহার করেছি।
ক্যালড্রেক্সিক্স

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

80

গিট বনাম মার্কুরিয়াল

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

গিট ধারণা

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


73
সুতরাং মার্চুরিয়াল কেবলমাত্র উন্নত কার্যকারিতা আড়াল করে, যখন জিআইটি সমস্ত কার্যকারিতা গোপন করে ... ;-)
অবাক

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

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

22
@ কেইও: আপনি যখন চাপ দেবেন তখন আপনাকে মার্চুরিয়াল দিয়ে সমস্ত শাখা চাপতে হবে না। আপনি একটি নির্দিষ্ট শাখা ( hg push --branch BRANCH) বা একটি নির্দিষ্ট সংশোধন ( hg push --rev REV) পর্যন্ত চাপতে পারেন । hg help pushআরও বিকল্পের জন্য দয়া করে দেখুন ।
রিজেন্ট

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

47

প্রসঙ্গ: আমি দৈনিক ভিত্তিতে মারকুরিয়াল (কাজের জন্য) এবং গিট (পার্শ্ব প্রকল্প এবং ওপেন সোর্সের জন্য) উভয়ই ব্যবহার করি। আমি মূলত উভয় (আইডিই নয়) সহ পাঠ্য-ভিত্তিক সরঞ্জামগুলি ব্যবহার করি এবং আমি একটি ম্যাকে আছি।

সাধারণভাবে, আমি মার্চুরিয়ালের সাথে কাজ করা সহজ বলে মনে করি। আমি যে কয়েকটি জিনিস পেয়েছি তা মার্কুরিয়ালকে সহজ করে তুলেছে:

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

6
সূচক উল্লেখ করার জন্য +1; আমি সূচক মনে করেন এবং তার কথাবার্তাও হয় জিনিস Git আরো তত্পর চেয়ে শিখতে কঠিন করে তোলে।
শান ম্যাকমিলান

18
hgসমতূল্য gitশাখা আসলে বলা হয় bookmarks। যতদূর আমি জানি, hgশাখাগুলিতে একটি সমতুল্য নেই git
হ্যাঙ্ক গে

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

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

7
@ কেইও: মার্চুরিয়ালে, বেসরকারী শাখাগুলিকে 'বুকমার্কস' বলা হয়: মূল পুনর্বিবেচনার আপডেট করুন hg bookmark keyo-stuff, জিনিসগুলি করুন hg commit, এবং শেষ পর্যন্ত hg push -B keyo-stuff। আপনি যদি সংশোধন নম্বর পছন্দ না করেন তবে সেগুলি ব্যবহার করবেন না; মার্কুরিয়াল যে কোনও জায়গায় একটি হ্যাশ গ্রহণ করবে এটি যে কোনও সংশোধন নম্বর গ্রহণ করবে তা আমি মনে করি। আমার বলতে হবে, আপনার মন্তব্যগুলি মার্চুরিয়ালের উপর চাপ দেওয়ার জন্য এটির বৈশিষ্ট্যগুলির অভাবের জন্য সত্য কারণ এটি অজ্ঞ এবং কিছুটা আক্রমণাত্মক হয়ে উঠেছে; আপনি গিট ব্যবহারকারীদের স্টেরিওটাইপটির জন্য খুব ভাল কিছু করছেন না!
টম অ্যান্ডারসন

29

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

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

শুধু উত্তর সম্পূর্ণ করতে; আমি গিট ব্যবহার করি, তবে "তাদের কাছে নতুন" এমন ব্যক্তির জন্য কোনও ভিসিএসের পরামর্শ দেওয়ার সময় আমি প্রায় সবসময়ই মर्कুরিয়াল প্রস্তাব করি। আমার মনে আছে, যখন এটি প্রথম আমার হাতে এলো তখন এটি খুব স্বজ্ঞাত অনুভূত হয়েছিল। এটা আমার অভিজ্ঞতা যে মার্কুরিয়াল গিটের চেয়ে কম ডাব্লুএইচটিএফ / মিনিট উত্পাদন করে।


"এটি খুব সাবজেক্টিভ" জন্য "কম ডাব্লুটিএফ / মিনিট" -1 এর জন্য +1। এটি খুব সাবজেক্টিভ নয় ... আমি জানি না কেন লোকেরা এখনও ইউআইয়ের পার্থক্যকে বিষয়গত বলে মনে করে। আমি যদি পার্কিয়াল এবং এমডি 5 হ্যাশ এর আদেশগুলি গ্রহণ করি তবে আপনি এই যুক্তিটি তৈরি করবেন না যে কিছু লোক সম্ভবত একটি এমডি 5 হ্যাশটিকে আসলটির চেয়ে বেশি স্বজ্ঞাত খুঁজে পেতে পারে, আপনি কি? (আমি আশা করি না). গিটের ক্ষেত্রেও একই কথা। গিটটি পার্কিয়ালের চেয়ে সহজ তবেই যদি গিটের সাথে আপনার অভিজ্ঞতা পারদর্শীতার চেয়ে যথেষ্ট বেশি থাকে।
weberc2

17

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


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

9

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

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

জিআইটি / পার্শ্ববর্তী জটিলতার জন্য একটি পাল্টা উদাহরণ: চমৎকার জিআইটি সমর্থন ম্যাকের এক্সকোডে তৈরি করা হয়েছে। জিআইটির চেয়ে মারকুরিয়াল সহ এক্সকোড ব্যবহার করা সহজ।

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

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

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

আপডেট ২০১৩: আমি এখন মার্চিয়াল এবং জিআইটি ব্যবহার করেছি এমন কিছু বৈশিষ্ট্য যা আমি গিটের কাছে থাকতে চাই তার জন্য যেমন যথেষ্ট পরিমাণে মার্জ কৌশলগুলি সম্পর্কে এই প্রশ্নটি আবিষ্কার করেছি। সত্যই গিট আশ্চর্যজনক, যদি শিখতে অসুবিধা হয় তবে কখনও কখনও উন্মাদ জটিলও হয়।


7

এমন কিছু জিনিস রয়েছে যা আইএমও নতুন ব্যবহারকারীদের গিট বন্ধ করে দিতে পারে:

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

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

  3. ডকুমেন্টেশন এবং সহজাত জটিলতা:

    $ hg help log | wc -l
    64
    $ git help log | wc -l
    912
    

3
প্রকৃতপক্ষে, আমি
12৪ টির

10
প্রকৃতপক্ষে, আমি এমন একটি ইউআই পছন্দ করি যা এত স্বজ্ঞাত এবং নির্বিঘ্ন যে আপনার প্রথমে কোনও সাহায্যের দরকার নেই।
জ্যামাইক্যাকগুলি

2
আমি জিইউআই এবং সহায়তা উভয়ই চাই। :) যা আমার কাছে স্বজ্ঞাত মনে হয় তা অন্য কারও জন্য গোলযোগ।
ডিসাইস্টার

1
অবশ্যই, তবে যখন সহায়তা প্রয়োজন তখন এটি অনুসরণ করা সহজ হওয়া উচিত।
জ্যামাইক্যাকস

3
আমি একটি নতুন উপমা চিন্তা করেছি; গিটটি সি ++ এর মতো (দুঃখিত লিনাস!) এবং মারকুরিয়াল পাস্কালের মতো। যা অন্তর্নিহিত এবং কেবল পাসকালের একটি উপায় (বা মার্চুরিয়াল) করা যেতে পারে তা স্পষ্টভাবে, সি ++ (এবং গিট) এ উনিশটি বিভিন্ন উপায়ে করা যেতে পারে। কিছু লোক আরও বেশি বোতাম এবং লিভারযুক্ত পাওয়ারলগুলিকে পছন্দ করে এবং গিট এটি।
ওয়ারেন পি

3

আমি ভাবতে পারি একটি জিনিস

git add .
git commit -am "message"

বনাম

hg ci -Am "message"

git commit -aসদ্য নির্মিত ফাইলগুলি যুক্ত করে না hg ci -A, যা এর অর্থ হ'ল মার্টুরিয়ালে একটি কমান্ড দিয়ে গিটের সাথে দুটি কমান্ডের প্রয়োজন এমন কিছু করা যেতে পারে। তারপরে আবারও "কম টাইপিং" এর অর্থ "আরও বেশি ব্যবহারকারী বান্ধব" নয়।


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

3
যথেষ্ট ফেয়ার, কিন্তু আমি বিশ্বাস করি যে hg ciছাড়া -Aপতাকার সমতুল্য করে git commit -a। আমি এইচজির চেয়ে অনেক বেশি গিট ব্যবহার করেছি, সুতরাং আমি ১০০% নিশ্চিত নই।
heেহাও মাও

আমি পরীক্ষা করেছি, hg ci== git commit -a
heেহাও মাও

তবে আপনি যদি এইচজি কমিটের সাথে নির্দিষ্ট ফাইলগুলি নির্দিষ্ট করেন তবে আপনি যা চান না সেগুলি টানতে পারবেন। বিরল ক্ষেত্রে যেখানে আমি এই নিয়ন্ত্রণ চাই, আমি এটি ভাল কাজ করে দেখি।
অ্যালেক্স মিলার

1
আপনি কেন "গিট অ্যাড করবেন?" এবং তারপরে "গিট কমিট-এ্যাম"? ইন্ডেক্সে ইতিমধ্যে সবকিছু যুক্ত হবে না?
জ্যাকোবাংগেল

3

কারন এটাই.

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

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

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

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