में सभी हटाए गए फ़ाइलों को अनस्टेज करें, मैं सभी फ़ाइल हटाए जाने का प्रयास करना चाहता हूं। क्या कोई आसान तरीका है?गिट
मैं इसे सभी हटाए गए फ़ाइल पैटर्न पर लागू करना चाहता हूं।
में सभी हटाए गए फ़ाइलों को अनस्टेज करें, मैं सभी फ़ाइल हटाए जाने का प्रयास करना चाहता हूं। क्या कोई आसान तरीका है?गिट
मैं इसे सभी हटाए गए फ़ाइल पैटर्न पर लागू करना चाहता हूं।
git status --porcelain
के उत्पादन में इस तरह के कार्यों के लिए एक-लाइनर्स और लिपियों का निर्माण करने के लिए एक शानदार तरीका है:
git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
'एक मंचित फ़ाइल को अनस्टेज करना' अनुभाग देखें in this book।
लिंक एक अजीब जगह पर अब चला जाता है ऐसा लगता है, लेकिन पुस्तक उपयोगी है। – hiwaylon
मामले में अपने पथ/फ़ाइल नाम git status
से लौटे space
वर्ण होने चाहिए, awk
करने के लिए कॉल
git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
शायद ज़रुरत किसी और उपयोग में: पूरे (उद्धृत) पथ/फ़ाइल नाम सहित रिक्तियां शामिल संशोधित किया जा सकता PowerShell के साथ git, यहाँ @ jefromi उत्तम जवाब की एक powershell संस्करण है:
git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
कमाल। धन्यवाद!! ऐसा लगता है कि मुझे कुछ grep, sed और awk सीखने की जरूरत है। – Jacko
@ जैको: निश्चित रूप से आसान चीजें। आप आसानी से इसे sed के साथ भी कर सकते थे: 'sed -n'/^ डी/एस/^ डी // पी'। – Cascabel
मेरी पिछली टिप्पणी में बंद एकल उद्धरण गुम है। – Cascabel