मेरे पास एक बड़ी गिट प्रोजेक्ट है जिसे मैंने बेवकूफ रूप से ग्रहण करने के लिए आयात किया और एक ऑटोफॉर्मेट चलाया। अब, परियोजना में प्रत्येक फ़ाइल संशोधित के रूप में दिखा रहा है। मेरी स्वरूपित फाइलों को करने के बजाय, मैं उन सभी फ़ाइलों को वापस कर दूंगा जिन्हें मैंने केवल प्रारूपित किया है और अन्य परिवर्तन नहीं किए हैं। उदाहरण के लिए:विशिष्ट फ़ाइलों में स्टैश परिवर्तन
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
# (commit or discard the untracked or modified content in submodules)
# modified: dir/file1.cpp
# modified: dir/file1.h
# modified: dir/file2.cpp
# modified: dir/file2.h
# modified: dir/file3.cpp
# modified: dir/file3.h
# modified: dir/file4.cpp
# modified: dir/file4.h
मुझे पता है कि file2.cpp
, file2.h
, और file3.cpp
सामग्री के साथ संशोधित किया गया है (अर्थात, बस फ़ॉर्मेट नहीं किया गया)। मैं इन तीन फ़ाइलों में बदलावों को छिपाना चाहता हूं और फिर पुराने संशोधन की जांच करना चाहता हूं, ताकि मैं इन फ़ाइलों में परिवर्तनों को दोबारा लागू कर सकूं। मैं नहीं बल्कि कुछ से बचने होगा:
$ cp file2.cpp ~/tmp
$ git checkout blahblahblah
$ cp ~/tmp/file2.cpp .
इस कि stashing शामिल नहीं करता है करने के लिए एक स्पष्ट तरीका है, मुझे पता है। जो भी काम हो जाता है।
सवाल पर एक नजर डालें (http://stackoverflow.com/questions/5506339/कैसे-कैन-आई-गिट-स्टेश-ए-विशिष्ट-फ़ाइल) लेकिन यह आपके मामले में भी लगता है कि आप उन फ़ाइलों के साथ फ़ाइलों को 'गिट जोड़ सकते हैं' जिन्हें आप रखना चाहते हैं और फिर 'गिट चेकआउट - .' और फिर यदि आप चाहते हैं तो अंत में जोड़े गए फ़ाइलों को अस्थिर करें। – mikej
अगले गिट 2.13 (क्यू 2 2017) के साथ, वास्तविक कमांड 'गिट स्टैश पुश - file2.cpp file2.h file3.cpp' होगा। [नीचे मेरा जवाब] देखें (http://stackoverflow.com/a/42963606/6309) – VonC