मैं मैगिट में किसी अन्य कमिट से किसी फ़ाइल की जांच कैसे करूं


16

मुझे foo.txtशाखा में एक फाइल मिली है A, और मैं foo.txtशाखा Bसे सूचकांक में देखना चाहता हूं । कमांड लाइन पर, मैं यह करूंगा:

$ git checkout B -- foo.txt

मैं लॉग इन करके मैगिट में ऐसा करने में सक्षम होना चाहता हूं, जिसमें मुझे दिलचस्पी है (जैसे l o B), खोजने foo.txtऔर कुछ कमांड चलाने के लिए प्रतिबद्ध हूं , लेकिन मैं यह पता नहीं लगा सकता कि यह कैसे करना है।


यह अब एक सुविधा अनुरोध github.com/magit/magit/issues/2184 है । इसे देखने के लिए धन्यवाद,
रखवाले

जवाबों:


21

2.11.0 के रूप में यह सीधे रीसेट डिस्पैचर से संभव है ( X fऔर आप संशोधन और फ़ाइल निर्दिष्ट कर सकते हैं):

यहाँ छवि विवरण दर्ज करें

यह मैगिट के भीतर प्रोग्रामेटिक रूप से किया जा सकता है, magit-file-checkoutजिसके उपयोग से एक संस्करण युक्ति और फ़ाइल नाम स्वीकार किया जाता है (@Emoses की सुविधा अनुरोध और @Key Meyer का कार्यान्वयन)। पहले फ़ंक्शन को नाम दिया गया था magit-checkout-file(v2.3.0 - v2.9.0 से)।


4
magit-checkout-fileअब अप्रचलित है। magit-file-checkoutइसके बजाय उपयोग करें ।
सागर झा

3

मुझे ऐसा करने के लिए एक अंतर्निहित तरीके के बारे में पता नहीं है।

मान लें कि आप शाखा A पर हैं, तो शाखा B को अलग करने के लिए एक और तरीका होगा ( d r ..B), और फिर उस फ़ाइल पर जाएँ, जहाँ आप रुचि रखते हैं। दबाने aसे उन परिवर्तनों को कार्यशील ट्री (अनुक्रमणिका के बजाय) पर लागू किया जाएगा।

मेरे पास एक विन्यास में एक फाइल को रीसेट करने या एक संशोधन से चेकआउट करने के लिए एक कमांड है, लेकिन, इसकी वर्तमान स्थिति में, यह बिल्कुल ठीक नहीं है कि आप क्या पूछ रहे हैं क्योंकि यह मैगिट संशोधन में एक अच्छा संशोधन डिफ़ॉल्ट की पेशकश नहीं करेगा। मोड।

(defun km/magit-reset-file (rev file &optional checkout)
  "Reset FILE from revision REV.

If prefix argument CHECKOUT is non-nil, checkout FILE from REV
instead.

\(git reset REV -- FILE)
\(git checkout REV -- FILE)"
  (interactive
   (let ((rev (magit-read-branch-or-commit "Revision")))
     (list rev (magit-read-file-from-rev rev "File") current-prefix-arg)))
  (magit-with-toplevel
    (magit-run-git (if checkout "checkout" "reset")
                   rev "--" file)))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.