आपको वापस जाने और चुनने के लिए कितने कमिट की आवश्यकता है? यदि यह सिर्फ एक है, तो शायद इसके ठीक पहले एक शाखा लें, आपके द्वारा की गई फ़ाइल की जांच करें और फिर git add -pइसे जोड़ने का उपयोग करें कि आप इसे कैसे चाहते हैं। फिर आप वापस उस स्थान पर जा सकते हैं जहाँ आप थे और अपनी अस्थायी शाखा से फ़ाइल की जाँच करें।
अर्थात्:
git checkout -b temp troublesome-commit^
git checkout troublesome-commit -- path/to/file
git add -p path/to/file
git commit -c troublesome-commit
git checkout @{-1}
git checkout temp -- path/to/file
git commit path/to/file
git branch -D temp
अन्य विकल्पों में कमिट करना और कमिट को एडिट करना git rebase -i(कमिट को मार्क करना edit, फिर ए करना git reset HEAD^और फिर से शेल में वापस आने पर कम करना)।
यदि आपको जिन परिवर्तनों का चयन करने की आवश्यकता है, वे कमिट की एक श्रृंखला में फैले हुए हैं, तो उन्हें पैच (या उन सभी को कवर करने वाला पैच) के रूप में निकालना बेहतर हो सकता है और पैच को हाथ से संपादित कर सकते हैं, उन परिवर्तनों को निकाल सकते हैं जिन्हें आप रखना चाहते हैं, और अवशिष्ट को खिलाना git apply --reverse।