আমি গিটার ব্যবহারকারী ব্রার শাখা দ্বারা বিভ্রান্ত। আমার কীভাবে ছোট পরিবর্তনগুলি ট্র্যাক করার কথা?


32

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

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

এখন, আমার প্যাচটি প্রত্যাখ্যান হয়ে গেছে এবং আমি আমার সংগ্রহশালা থেকে আমার একটি বুকমার্ক-শাখা মুছে ফেলতে চাই। ঠিক আছে, গিটে আমি কেবল আমার শাখাটি জোর করে মুছে ফেলব এবং এটিটি ভুলে যাব, তাই আমি আমার বুকমার্কটি মুছি এবং এখন আমার নিম্নলিখিত সমস্যাগুলি রয়েছে:

  • কচ্ছপএইচজি এবং hg logএখনও দেখায় যে প্রতিশ্রুতিবদ্ধ এবং defaultশাখার 2 টি মাথা রয়েছে। এবং যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি অতিরিক্ত প্লাগইন ছাড়াই এইচজি-তে করা কমিটগুলি মুছতে পারবেন না।

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

  • আমি hg updateআমার masterবুকমার্কটি সর্বশেষতম প্রতিশ্রুতিতে স্বয়ংক্রিয়ভাবে সরানোর জন্য টান দেওয়ার পরেও করি , তবে টরটোইজএইচজি-তে এটি করার কোনও উপায় আমি পাইনি।

আমি কি ভুল করছি? এটি কি সাধারণ এবং প্রত্যাশিত এবং আমার কেবল এই সমস্যাগুলি উপেক্ষা করা উচিত? বা আমার শাখাগুলি নিয়ে কীভাবে কাজ করার কথা?

উত্তর:


22

ব্যক্তিগতভাবে, আপনার দৃশ্যের জন্য, আমি এমনকি একটি শাখা তৈরি করে বিরক্ত করব না, যদি না আমি একাধিক পরিবর্তন নিয়ে কাজ করি, যার প্রত্যেকটিই মূল বিকাশকারীদের দ্বারা গ্রহণ করা প্রয়োজন।

কেবল তাদের সংগ্রহস্থলটিকে ক্লোন করুন এবং এতে কাজ করুন, তারপরে একটি টানুন অনুরোধ করুন।

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

মারকিউরিয়ালের তাদের উইকিতে একটি পুরো পৃষ্ঠা রয়েছে যা " ছাঁটাই মৃত শাখাগুলি " এর বিভিন্ন উপায়ে বর্ণনা করে । "ক্লোন ব্যবহার করে" বিকল্পটি আপনার প্রয়োজনীয়তা পূরণ করবে।

আপনার আরও নির্দিষ্ট সমস্যার উত্তর দিতে ...

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

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

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

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

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

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

আমি আমার মাস্টার বুকমার্কটি সর্বশেষতম প্রতিশ্রুতিটিতে স্বয়ংক্রিয়ভাবে সরাতে টান দেওয়ার পরে এইচজি আপডেট করি, তবে টরটোইজএইচজি-তে এটি করার কোনও উপায় আমি পাইনি।

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


আমি যথাযথ নামযুক্ত শাখার আগে যুক্তিটি অবশ্যই দেখেছি যে hg
jk

9

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

মার্চুরিয়ালে, আপনি শাখা তৈরি করেন না । প্রতিটি প্রতিশ্রুতি কার্যকরভাবে একটি শাখা হয়, যে কোনও প্রতিশ্রুতি একাধিক বাবা এবং একাধিক শিশু থাকতে পারে। সুতরাং সেগুলি একই সত্ত্বাকে সংগঠিত করার চারটি ভিন্ন উপায়।

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

কচ্ছপএইচজি এবং এইচজি লগ এখনও দেখায় যে প্রতিশ্রুতিবদ্ধ এবং ডিফল্ট শাখার 2 টি মাথা রয়েছে।

যা হ'ল সব কিছু ভিতরে ফেলার পরিবর্তে নামকরণ করা শাখা ব্যবহার করার কারণ default

এবং যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি অতিরিক্ত প্লাগইন ছাড়াই এইচজি-তে করা কমিটগুলি মুছতে পারবেন না।

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

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

সংখ্যা মানে কিছু নয়। তারা আপনাকে বিভ্রান্ত করলে আপনি তাদের এড়িয়ে যেতে পারেন।

আমি আমার মাস্টার বুকমার্কটি সর্বশেষতম প্রতিশ্রুতিটিতে স্বয়ংক্রিয়ভাবে সরাতে টান দেওয়ার পরে এইচজি আপডেট করি, তবে টরটোইজএইচজি-তে এটি করার কোনও উপায় আমি পাইনি।

আমি কচ্ছপ এইচজি ব্যবহার করিনি তবে এবং hg pull -uউভয়ই করব ।pullupdate

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

এটি ঠিক আছে, অনেক মার্চুরিয়াল ব্যবহারকারী গিট সম্পর্কে একই ধারণা অনুভব করেন (আমাকে সহ)।


6

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

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

প্রথমে, আপনি যে কয়েকটি বিষয় উল্লেখ করেছেন তার উপর কিছুটা আলোকপাত করার চেষ্টা করুন:

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

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

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

এখন, আপনার অন্যান্য প্রশ্নের উত্তর দিতে:

  • আপনার কী মাথা রয়েছে তা আপনি যাচাই করতে পারেন hg heads, যদি আপনি একটি একক নামের শাখায় 2+ মাথা দেখেন তবে সেগুলি মার্জ করা ভাল। আপনার বুকমার্কটি সম্ভবত এটিই
  • আপনার সবেমাত্র করা একটি সংশোধন থেকে মুক্তি পেতে আপনি করতে পারতেন hg rollback, তবে আমি অনুমান করছি এটি তেমনটি নয়।
  • একটি বুকমার্ক মুছতে শুধু করুন hg bookmark --delete yourbookmark
  • আপনি খুশি হবেন যে ইতিহাসে শাখা কাটা সহজ। দেখব রি-বেসের ফলে এক্সটেনশন এবং স্ট্রিপ অপারেশন
  • মার্চুরিয়াল ইতিমধ্যে বেশ কয়েকটি এক্সটেনশনের সাথে বান্ডিল হয়ে এসেছে তবে সেগুলি ডিফল্টরূপে সক্রিয় হয় না । টর্টোইজএইচজি কনটেক্সট মেনু পেতে যে কোনও ফোল্ডারে যান এবং যে কোনও জায়গায় ডান ক্লিক করুন, গ্লোবাল সেটিংসে যান এবং তারপরে এক্সটেনশানগুলি: এমকিউ এক্সটেনশন এবং রিবেস এক্সটেনশন সক্রিয় করুন। এটি যা-কিছু হ'ল সংগ্রহস্থলের মধ্যে সামঞ্জস্যতা ক্ষতি করে না।
  • এখন আপনি এখানে এসেছেন, আপনি হয়:
    • আপনার বুকমার্কটি যেখানে শুরু হয়েছিল সেটিকে ফেলা (এটি সম্ভবত আপনার সমস্যার সমাধান করে)
    • আরও সহজ দৃশ্যধারণের জন্য, আপনি সামনের দিকে আপনার পরিবর্তনগুলি পুনরায় সজ্জিত করতে পারেন এবং তারপরে সেগুলি ফিরতে পারেন। আমি কেবল রিবেসের কথা উল্লেখ করেছি কারণ এটি অন্য কোনও সময় আপনার পক্ষে কার্যকর কিছু হতে পারে।

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

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


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

1

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

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


-1

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

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