ইতিহাসের সহজ নেভিগেশনের জন্য পূর্ববর্তী গাছের সাথে ম্যাগিটের সংমিশ্রণ


16

আমি ভালবাসি undo-tree(নীচে স্ক্রিনশট) এটা যেমন হিসাবে সহজ কী এর মাধ্যমে একটি পৃথক উইন্ডোর (নিচে উইন্ডো) ফাইল ইতিহাসে গাছ প্রায় ব্যবহারকারী পদক্ষেপ লেট করে একটি ফাইল (শীর্ষ উইন্ডো) বিভিন্ন সংস্করণ মাধ্যমে নেভিগেট করার জন্য একটি সহজ উপায় প্রদান n, pএবং C-bএবং C-fএকই উত্তরপুরুষ জুড়ে স্যুইচ করার পিতা বা মাতা।

সর্বাধিক উল্লেখযোগ্যভাবে, undo-treeগাছের ভিউতে বাছাইয়ের উপর ভিত্তি করে ফাইলটিকে ধারণকারী বাফারটি আপডেট করে স্বয়ংক্রিয়ভাবে view

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

magitআজকের দিয়ে কি আদৌ সম্ভব ?

এখানে চিত্র বর্ণনা লিখুন


জানি না এটি ম্যাজিট দিয়ে সম্ভব কিনা তবে github.com/pidu/git-Timemachine
clemera

আমি নিশ্চিত নই, তবে আমি মনে করি undo-treeএকটি গাছ ব্যবহার করে (এটি নামে :- পি) রয়েছে, তবে গিট ইতিহাসটি একটি নির্দেশিত অ্যাসাইক্লিক গ্রাফ । এটি অ-তুচ্ছ হতে পারে।
suvayu

2
ম্যাজিট এই জাতীয় কিছু সমর্থন করে তবে আমি বর্তমানে বৈশিষ্ট্যটি কীভাবে চালু করা হচ্ছে তা পরিবর্তন করছি। আমার সাথে এটি শেষ হয়ে গেলে আমি একটি উত্তর পোস্ট করব।
তারসিউস

উত্তর:


7

ম্যাজিট সম্প্রতি এর মতো কিছুটির জন্য সমর্থন অর্জন করেছে তবে বৈশিষ্ট্যটি এখনও প্রান্তগুলির চারপাশে কিছুটা রুক্ষ এবং স্পষ্টভাবে সক্ষম করতে হবে has


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

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

সুতরাং এখন আপনাকে SPCপুনর্বিবেচনা বাফার প্রদর্শনের জন্য একবার চাপতে হবে । তবেই আপনি লগ বাফারের আশেপাশে সরে গেলে আপডেট হওয়া শুরু হবে।

আপনি যদি পুনর্বিবেচনা বাফারটি আপডেট করা না চান তবে এটি করুন:

(remove-hook 'magit-section-movement-hook
             'magit-log-maybe-update-revision-buffer)

অন্যদিকে আপনি যদি চান যে স্ট্যাটাস বাফারে ঘুরে দেখার সময় আপনি পুনর্বিবেচনা বাফারটি আপডেট করতে চান তবে এটি ব্যবহার করুন:

(add-hook 'magit-section-movement-hook
          'magit-status-maybe-update-revision-buffer)

এখন কোনও ব্লব বাফারের জন্য একইভাবে স্বয়ংক্রিয়ভাবে আপডেট হওয়া সম্ভব। প্রথমে এটি যুক্ত করুন:

(add-hook 'magit-section-movement-hook
          'magit-log-maybe-update-blob-buffer)

এবং সম্ভবত:

(add-hook 'magit-section-movement-hook
          'magit-status-maybe-update-blob-buffer)

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

লগ (বা স্থিতি) বাফারে ফিরে যান এবং অন্য প্রতিশ্রুতিতে যান। ব্লব বাফার আপডেট করা হচ্ছে।


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

অতিরিক্তভাবে এটি ব্যবহার করে pএবং একটি ব্লাফ বাফারের মধ্যে থেকে পরবর্তী বা পূর্ববর্তী ব্লবটিতে নেভিগেট করা সম্ভব n। আমি ধরে নিয়েছি যে বেশিরভাগ ক্ষেত্রে আপনি সাম্প্রতিক ব্লব দিয়ে শুরু করেন এবং তারপরে ব্যবহার করে পুরানো ব্লবগুলিতে পিছনে যান p। আপনি যদি এটি করেন এবং তারপরে অন্য দিকে যেতে চান তবে আমি আপনাকে qবর্তমান বাফারটি মেরে এবং এর মাধ্যমে পূর্বের বাফার অর্থাৎ পরবর্তী ব্লাবে যেতে বলার পরামর্শ দিই ।

আরও মনে রাখবেন যে কোনও ব্লবটি দেখার জন্য আপনাকে প্রথমে কোনও সংশোধন দেখতে যেতে হবে না। আপনি M-x magit-find-file RET <revision> RET <file> RETসরাসরি ব্যবহার করতে পারেন , তবে আমি এটি কম সুবিধাজনক বলে মনে করি।


ধন্যবাদ টারশিউস আমি ম্যাজিট 20151014.231(আমি যতদূর বলতে পারি সর্বশেষ) নিয়ে কাজ করছি। আপনি উপরে বর্ণিত পদক্ষেপগুলি অনুসরণ করার চেষ্টা করেছি। আমি গিয়েছিলাম magit-log-buffer-fileযার মাধ্যমে আমি কমিটগুলি উপরের সাথে নীচে নেভিগেট করতে পারি nএবং pযখন আমি টিপছি SPCবা RETতাদের Symbol's value as variable is void: magit-blame-mode
কোনওটি

আপনি সম্ভবত যোগ magit-blame-maybe-update-revision-bufferকরতে magit-section-movement-hookভুল করে।
তারসিয়াস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.