मैगिट ने हाल ही में इस तरह से कुछ के लिए समर्थन प्राप्त किया, लेकिन यह सुविधा अभी भी किनारों के आसपास थोड़ी खुरदरी है और इसे स्पष्ट रूप से सक्षम किया जाना है।
एक समान सुविधा लंबे समय से अस्तित्व में है - जब आप लॉग बफर में एक कमिट से दूसरे में जाते हैं, और उसी फ्रेम में एक और विंडो रिपॉजिटरी का रिवीजन बफर होता है, तो उस बफर को रिफ्रेश करने के लिए यह दिखाने की बजाय कि वह जो भी कमिट करता है। पहले दिखा रहा था।
जब तक आप पहली बार एक कमिट से दूसरे में चले गए तब तक हाल ही में रिवीजन बफर बनाया गया था। मैंने उस व्यवहार को बदल दिया है और अब केवल संशोधन बफर कभी अपडेट किया गया है । यदि उसी फ़्रेम में कोई विंडो पहले से ही उस बफ़र को प्रदर्शित नहीं करती है, तो लॉग के चारों ओर घूमने से बफ़र को कुछ नई विंडो या मौजूदा विंडो में प्रदर्शित नहीं किया जाएगा, जो पहले कुछ अन्य बफ़र को प्रदर्शित करता है।
इसलिए अब आपको 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फिर से दबाएं । अब आप एक "ब्लॉब-विजिटिंग" बफर में हैं, जो एक फाइल-विजिटिंग बफर के समान है, सिवाय इसके कि यह वर्किंग ट्री में फाइल को विजिट नहीं करता है लेकिन फाइल कुछ कमिट में है।
लॉग (या स्थिति) बफ़र पर वापस जाएँ और किसी अन्य कमिट पर जाएँ। बूँद बफर अद्यतन किया जा रहा है।
ध्यान दें कि एक और बूँद प्रदर्शित करना, वास्तव में मौजूदा बूँद बफर का पुन: उपयोग नहीं करता है। इसके बजाय यह एक नया बफ़र बनाता है जो उस बूँद पर जाता है और फिर उस बफ़र को उस विंडो में प्रदर्शित करता है जो पहले दूसरे ब्लब बफ़र को प्रदर्शित करता है। उस अन्य बफ़र को हटाया नहीं जा रहा है, जिसका दुर्भाग्य से मतलब है कि काफी कम बफ़र थोड़े समय में जमा हो सकते हैं। जो उन खुरदुरे किनारों में से एक होगा, जिसका मैंने पहले उल्लेख किया था। qएक ब्लॉब बफर में दबाने से यह नष्ट हो जाता है, इसलिए आप उस विंडो पर जाकर सफाई कर सकते हैं जिसका उपयोग विभिन्न ब्लॉब बफ़र्स को प्रदर्शित करने के लिए किया गया था और qतब तक दबाए रखें जब तक कि सभी बफ़र्स को हटा नहीं दिया गया।
साथ ही इसे प्रयोग बफर एक ब्लॉब के भीतर से अगले या पिछले ब्लॉब नेविगेट करने के लिए संभव है pऔर n। मुझे लगता है कि ज्यादातर मामलों में आप हाल ही में एक बूँद के साथ शुरू करते हैं और फिर पीछे की ओर पुराने बूब्स का उपयोग करते हैं p। यदि आप ऐसा करते हैं और फिर दूसरी दिशा में जाना चाहते हैं, तो मैं आपको qवर्तमान बफर को मारने के लिए उपयोग करने की सलाह देता हूं और इस तरह पिछले बफर यानी अगले ब्लॉब पर चला जाता हूं ।
यह भी ध्यान दें कि आपको पहले किसी संशोधन पर जाने की ज़रूरत नहीं है, ताकि एक बूँद का दौरा कर सकें। आप M-x magit-find-file RET <revision> RET <file> RET
सीधे भी उपयोग कर सकते हैं, लेकिन मुझे लगता है कि कम सुविधाजनक है।