आप उपयोग कर सकते हैं git checkout -p, जो आपको अपने काम की प्रतिलिपि और सूचकांक के बीच के अंतर से अलग-अलग हॉक चुनने की अनुमति देता है। इसी तरह, git add -pआप इंडेक्स में जोड़ने के लिए लोअर चुनने की git reset -pअनुमति देता है , और इंडेक्स और हेड के बीच के अंतर से इंडेक्स को वापस बाहर करने के लिए आपको व्यक्तिगत हॉक चुनने की अनुमति देता है।
$ git checkout -p file/to/partially/revert
# or ...
$ git checkout -p .
यदि आप इन परिवर्तनों को संरक्षित करने से पहले अपने गिट रिपॉजिटरी को पहले से ही स्नैपचैट करना चाहते हैं, तो मुझे यह करना पसंद है:
$ git stash; git stash apply
यदि आप अक्सर इसका उपयोग करते हैं, तो आप इसे अलग करना चाह सकते हैं:
[alias]
checkpoint = !git stash; git stash apply
यदि आप एक अच्छा संपादक मोड या प्लगइन का उपयोग करते हैं, तो व्यक्तिगत हॉक या रेखाओं को बदलना और भी आसान हो सकता है, जो -pकभी-कभी उपयोग करने के लिए थोड़ा अनाड़ी हो सकता है , जैसा कि सीधे उल्टा करने के लिए लाइनों का चयन करने के लिए समर्थन प्रदान कर सकता है। मैं Magit , एक Emacs मोड का उपयोग करता हूं जो Git के साथ काम करने के लिए बहुत सहायक है। मैगिट में, आप चला सकते हैं magit-status, उन परिवर्तनों के लिए भिन्नता खोजें जिन्हें आप वापस करना चाहते हैं, उन पंक्तियों का चयन करें जिन्हें आप वापस करना चाहते हैं (या बस कर्सर को उन पंक्तियों पर रखें जिन्हें आप वापस करना चाहते हैं यदि आप एक बार के बजाय एक हंक वापस करना चाहते हैं एक समय में एक लाइन), और kउन विशिष्ट लाइनों को वापस करने के लिए दबाएं । यदि आप Emacs का उपयोग करते हैं तो मैं मैगिट की अत्यधिक अनुशंसा करता हूं।