मैंने अभी-अभी मैगिट 2.1.0 में अपग्रेड किया। (और 25.0.50 emits और 2.3.1 git पर भी।)
इससे पहले, *magit*
बफर में मैं कर सकता था:
- Unstaged क्षेत्र में एक हंक का चयन करें।
- vइसे उलटने के लिए हां टाइप करें और उत्तर दें।
यह काम था।
लेकिन अब मैगिट 2.1.0 में यह एक त्रुटि देता है "Cannot reverse unstaged changes"
:।
क्यूं कर?
त्रुटि संदेश से संकेत लेते हुए, मुझे पता चला कि मैं अभी भी ऐसा कर सकता हूं, यद्यपि कुछ और चरणों के साथ "पीछे" तरीके से
- sहंक को छेड़ो। (पीछे की ओर लगता है, यह प्रतिबद्ध राज्य के करीब जा रहा है।)
- नीचे नेविगेट करें और इसे चरणबद्ध क्षेत्र में चुनें।
- दबाएं v, हां में जवाब दें।
- हालांकि हंक अभी भी मंचन किया गया है, इसलिए अंत में मुझे uहंक को रोकना होगा।
क्या यह एक बग है, या, क्या यह जानबूझकर है और / या मैं घना हो रहा हूं? यदि बाद में, क्या आप मुझे समझने में मदद कर सकते हैं?
अद्यतन: पूरी तरह से RTFinfo- आईएनजी के बाद, मैं देखता हूं कि दो कमांड हैं:
- v
magit-reverse
काम के पेड़ में बिंदु पर परिवर्तन को उल्टा करें। - k
magit-discard
काम के पेड़ से बिंदु पर परिवर्तन निकालें।
ऐसा लगता है कि k magit-discard
वही करता है जो मुझे vपहले करने की आदत थी । यह एक अस्थिर हंक पर काम करता है।
इसलिए व्यावहारिक रूप से मुझे सिर्फ अपनी मांसपेशियों की मेमोरी का उपयोग करने की आवश्यकता है k। मैं एक स्व-उत्तर के रूप में पोस्ट कर सकता था। लेकिन मुझे लगता है कि मैं अभी भी तर्क के बारे में उत्सुक हूं, क्योंकि मुझे यह समझने की कल्पना है कि इससे मुझे मैगिट को बेहतर ढंग से समझने में मदद मिलेगी।
k
मैगिट के पहले के संस्करणों में भी परिवर्तन के बारे में जानकारी देता है, और जो आप कर रहे हैं उसके लिए उपयुक्त कमांड लगता है। v
गेट रिवर्ट के लिए है: एक नई प्रतिबद्ध बनाना जो एक पूर्व के विपरीत परिवर्तन को बनाता है। मुझे लगता है कि एक परिवर्तन जो वास्तव में प्रतिबद्ध नहीं था, उसे त्यागने के समान है, लेकिन 'रिवर्ट' का अर्थ एक कमांड के रूप में है।
v
ही था magit-revert-item
( "रिवर्स" शब्दावली वहाँ, @PythonNut से आता है) और इस unstaged आइटम के लिए एक करते थे magit-discard-item
(के रूप में भी करने के लिए बाध्य k
लाइन 4872 देखते हैं -) यहाँ । जाहिरा तौर पर मैंने गलती से उस विशेष अर्थ को सीख लिया v
, जो काम करता था, जब मुझे इसका उपयोग करना सीखा था k
।