मैं मैगिट के साथ फ़ाइल का एक विशिष्ट संशोधन कैसे खोल सकता हूं?


43

क्या वर्तमान शाखा को बदले बिना मैगिट के साथ Emacs में किसी फ़ाइल का एक विशिष्ट संशोधन खोलना संभव है?

मैंने कुछ स्थानीय परिवर्तनों को एक संशोधन में बदल दिया है जहां एक अलग फाइल में कार्यक्षमता द्वारा संशोधित कार्यों को बदल दिया गया था। मैं अपने परिवर्तनों के पुराने संशोधन को एक अलग बफ़र में खोलना चाहूंगा ताकि मैं परिवर्तनों की एक साथ तुलना कर सकूं।

मेरा वर्तमान हैकी समाधान चलाने git show <branch pre-rebase>:file > old_fileऔर फिर old_fileEmacs में खोलने के लिए किया गया है।


1
github.com/pidu/git-timemachine अस्थायी रूप से प्रत्येक संस्करण के बीच एक फ़ाइल देख सकता है।
कुआनुई

1
@ @कन्युइ मैं उपयोग करता हूं git-timemachineलेकिन जब से मेरा कोड छूट गया है मुझे नहीं लगता कि यह काम करेगा क्योंकि पुराना कोड वर्तमान शाखा के इतिहास का हिस्सा नहीं है?
डेविड होल्म

का डुप्लीकेट stackoverflow.com/questions/25420282/...
फिल्स

जवाबों:


56

आप एक विशिष्ट संशोधन का उपयोग करके एक फ़ाइल देख सकते हैं M-x magit-find-file RET <filename> RET

या आप पहले उस RETपर प्रेस करके कमिट के लिए अंतर देख सकते हैं , फ़ाइल को अंतर के अंदर नेविगेट कर सकते हैं, और फिर फिर से दबा RETसकते हैं।


8
यह मेरे लिए काम करता है; यहाँ मैं क्या करूँ: फ़ाइल के वर्तमान संस्करण से M-x magit-log-buffer-file, लाइन को वांछित कमेट पर ले जाएँ M-x magit-find-file। फिर डिफॉल्ट वैल्यू वह कमिट होगी। मुझे फ़ाइल को पथ देना होगा क्योंकि यह लॉग बफर से नहीं उठाया गया है।
लियाम

@tarsius, कुछ हद तक magit-find-file की तरह लेकिन जहां मुझे केवल वर्तमान बफ़र फ़ाइल के लिए संशोधन का चयन करने की आवश्यकता है। क्या यह पहले से मौजूद है?
एरोगिस

हां, magit-find-fileफ़ाइल-विजिटिंग बफर से खुद का उपयोग करें और फिर RETदूसरे प्रॉम्प्ट पर टाइप करें (उचित फ़ाइल को डिफ़ॉल्ट के रूप में पेश किया जाता है)।
तारसियस

जानकारी के लिए धन्यवाद और Magit पर आपके सभी काम। एक फ़ंक्शन को हैक करना बहुत मुश्किल नहीं था जो कि pesky को अतिरिक्त कीस्ट्रोके को छोड़ देता है, इसलिए मैं अगली खुजली होने तक खुश हूं।
ergosys

29

यह मैग के बिना सादे वीसी (अंतर्निहित एमएसीएस) के साथ करना संभव है। टाइप करें C-x v ~और संस्करण आप चाहते हैं। यह टैग और SHA1 हैश के साथ-साथ सामान्य ~1आदि प्रत्ययों को समझता है ।


यह एक मैजिट सवाल का जवाब नहीं है। क्या आप रूबी के प्रश्न का उत्तर देंगे?
ब्रायन ऐश

4
@BryanAsh हाँ, अगर C में समाधान इतना आसान है।
मार्कस स्ट्रॉस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.