git - स्थानीय गिट परिवर्तन को हटाने के कई तरीके




git-bash (6)

मैंने बस एक गिट भंडार क्लोन किया और एक शाखा की जांच की। मैंने इस पर काम किया, और फिर मेरे सभी स्थानीय परिवर्तनों को हटाने का फैसला किया, क्योंकि मैं मूल प्रतिलिपि चाहता था।

संक्षेप में, मुझे अपने स्थानीय परिवर्तनों को हटाने के लिए निम्नलिखित दो आदेशों को करना पड़ा

git checkout .

git clean -f

मेरा सवाल यह है कि,

(1) क्या यह स्थानीय परिवर्तनों से छुटकारा पाने में सही दृष्टिकोण है, अन्यथा कृपया मुझे सही दृष्टिकोण बताएं।

(2) हम git reset --hard उपयोग करते हैं - जैसे कि मैं इस कमांड के बिना भी रीसेट करने में सक्षम हूं

धन्यवाद

* समाधान: प्रमुख संपादन (ओं): 03/26: * गिट विशिष्ट शब्दावली के साथ कई अस्पष्ट शर्तों को बदल दिया [ट्रैक / अनचाहे / चरणबद्ध / अस्थिर]

जब हम स्थानीय परिवर्तन करते हैं तो फाइलों की केवल तीन श्रेणियां हो सकती हैं:

टाइप 1. चरणबद्ध ट्रैक की गई फ़ाइलें

टाइप 2. अस्थिर ट्रैक की गई फ़ाइलें

टाइप 3. Unstaged UnTracked फ़ाइलें उर्फ ​​अनट्रैक फ़ाइलें

  • चरणबद्ध - जो क्षेत्र को चरणबद्ध करने के लिए स्थानांतरित किए जाते हैं / सूचकांक में जोड़े जाते हैं
  • ट्रैक किया गया - संशोधित फाइलें
  • अनचाहे - नई फाइलें। हमेशा unstaged। अगर मंचित होता है, तो इसका मतलब है कि उन्हें ट्रैक किया जाता है।

प्रत्येक आदेश क्या करता है:

  1. git checkout . - केवल अस्थिर ट्रैक की गई फ़ाइलों को हटाता है [टाइप 2]

  2. git clean -f - केवल अस्थिर अनचाहे फ़ाइलों को हटाता है [टाइप 3]

  3. git reset --hard - हार्ड - केवल चरणबद्ध ट्रैक और अनस्टेड ट्रैक की गई फ़ाइलों को हटाता है [टाइप 1, टाइप 2]

  4. git stash -u - सभी परिवर्तनों को हटाता है [टाइप 1, टाइप 2, टाइप 3]

निष्कर्ष:

यह स्पष्ट है कि हम या तो उपयोग कर सकते हैं

(1) combination of `git clean -f` and `git reset --hard` 

या

(2) `git stash -u`

वांछित परिणाम प्राप्त करने के लिए।

नोट: छेड़छाड़ करना, क्योंकि शब्द का मतलब है 'स्टोर (कुछ) सुरक्षित और गुप्त रूप से किसी निर्दिष्ट स्थान पर।' यह हमेशा git stash pop का उपयोग करके पुनर्प्राप्त किया जा सकता है। इसलिए उपर्युक्त दो विकल्पों के बीच चयन डेवलपर का कॉल है।

क्रिस्टोफ और फ्रेडरिक शॉइंग धन्यवाद।

संपादित करें: 03/27

मैंने सोचा कि यह git clean -f करने के लिए ' सावधान ' नोट डालने लायक है

git clean -f

वहां से कोई वापसी नहीं है। आप जो नुकसान करेंगे उसका पूर्वावलोकन करने के लिए -n या - --dry-run का उपयोग करें।

यदि आप निर्देशिका को भी हटाना चाहते हैं, तो git clean -f -d चलाएं

अगर आप केवल अनदेखी फाइलों को हटाना चाहते हैं, तो git clean -f -X चलाएं

अगर आप अनदेखा और गैर-अनदेखा फ़ाइलों को हटाना चाहते हैं, तो git clean -f -x चलाएं

संदर्भ: git clean पर अधिक: वर्तमान गिट काम करने वाले पेड़ से स्थानीय (अनचाहे) फ़ाइलों को कैसे हटाया जाए?

संपादित करें: 05/20/15

इस शाखा पर सभी स्थानीय प्रतिबद्धताओं को छोड़कर [स्थानीय प्रतिबद्धताओं को हटाकर]

इस शाखा पर सभी स्थानीय गतिविधियों को त्यागने के लिए, स्थानीय शाखा को इस शाखा के "अपस्ट्रीम" के समान बनाने के लिए, बस git reset --hard @{u} चलाएं - git reset --hard @{u}

संदर्भ: http://sethrobertson.github.io/GitFixUm/fixup.html

या git reset --hard origin/master [यदि स्थानीय शाखा master ]

नोट: 06/12/2015 यह अन्य SO प्रश्न का डुप्लिकेट नहीं है जिसे डुप्लिकेट के रूप में चिह्नित किया गया है। यह प्रश्न स्थानीय जीआईटी परिवर्तनों को हटाने का तरीका बताता है [एक फ़ाइल को हटाएं, मौजूदा फाइल आदि में जोड़े गए परिवर्तनों को हटा दें और विभिन्न दृष्टिकोण; जहां अन्य एसओ थ्रेड में केवल स्थानीय प्रतिबद्धता को हटाने का तरीका पता है। यदि आपने कोई फ़ाइल जोड़ दी है, और आप इसे अकेले हटाना चाहते हैं, तो अन्य SO थ्रेड इसके बारे में चर्चा नहीं करता है। इसलिए यह दूसरे का डुप्लिकेट नहीं है]

संपादित करें: 06/23/15

एक रिमोट रिपोजिटरी में पहले से ही एक प्रतिबद्धता को कैसे वापस लाया जाए?

$ git revert ab12cd15

संपादित करें: 09/01/2015

स्थानीय शाखा और रिमोट शाखा से पिछली प्रतिबद्धता हटाएं

मामला: आपने बस अपनी स्थानीय शाखा में बदलाव किया और तुरंत रिमोट शाखा में धकेल दिया, अचानक एहसास हुआ, अरे नहीं! मुझे इस बदलाव की ज़रूरत नहीं है। अब क्या करें

git reset --hard HEAD~1 [स्थानीय शाखा से उस प्रतिबद्धता को हटाने के लिए]

git push origin HEAD --force [दोनों आदेशों को निष्पादित किया जाना चाहिए। रिमोट शाखा से हटाने के लिए]

शाखा क्या है? इसकी वर्तमान में चेक आउट शाखा है।

09/08/2015 संपादित करें - स्थानीय गिट मर्ज हटाएं:

मैं master शाखा में हूं और एक नई कार्यकारी शाखा phase2 साथ विलय master शाखा में हूं

$ git status
# On branch master

$ git merge phase2

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 8 commits.

प्रश्न: इस विलय से कैसे छुटकारा पाएं? कोशिश की गई git reset --hard और git clean -d -f दोनों काम नहीं कर पाए।

काम करने वाली एकमात्र चीज निम्न में से कोई भी है:

$ git reset --hard origin/master

या

$ git reset --hard HEAD~8

या

$ git reset --hard 9a88396f51e2a068bb7 [शा कोड कोड - यह वह है जो आपके सभी मर्ज काम करने से पहले मौजूद था]


1. जब आप अपने स्थानीय परिवर्तनों को बिल्कुल नहीं रखना चाहते हैं।

git reset --hard

यह आदेश आपके स्थानीय भंडार से सभी स्थानीय परिवर्तनों को पूरी तरह से हटा देगा। पुल कमांड के दौरान संघर्ष से बचने का यह सबसे अच्छा तरीका है, केवल तभी जब आप अपने स्थानीय परिवर्तनों को बिल्कुल नहीं रखना चाहते हैं।

2. जब आप अपने स्थानीय परिवर्तन रखना चाहते हैं

यदि आप रिमोट से नए बदलावों को खींचना चाहते हैं और इस पुल के दौरान स्थानीय परिवर्तनों को अनदेखा करना चाहते हैं, तो,

git stash

यह सभी स्थानीय परिवर्तनों को छीन देगा, अब आप दूरस्थ परिवर्तन खींच सकते हैं,

git pull

अब, आप अपने स्थानीय परिवर्तनों को वापस ला सकते हैं,

git stash pop

उपयोग:

git checkout -- <file>

कार्य निर्देशिका में परिवर्तनों को त्यागने के लिए।


मुझे लगता है कि गिट में एक चीज है जो स्पष्ट रूप से प्रलेखित नहीं है। मुझे लगता है कि यह वास्तव में उपेक्षित था।

git checkout .

मैन, तुमने मेरा दिन बचा लिया। मेरे पास हमेशा ऐसी चीजें होती हैं जिन्हें मैं संशोधित कोड का उपयोग करना चाहता हूं। लेकिन चीजें कभी-कभी संशोधित कोड को गड़बड़ कर देती हैं, नई अनचाहे फाइलें आदि जोड़ती हैं। तो मैं जो करना चाहता हूं वह है, जो मैं चाहता हूं उसे मंच बनाएं, गन्दा सामान करें, फिर जल्दी से सफाई करें और अगर मैं खुश हूं तो प्रतिबद्ध हूं।

git clean -fd अनचाहे फ़ाइलों के लिए अच्छी तरह से काम करता है।

फिर git reset बस चरणबद्ध हटा देता है, लेकिन git checkout थोड़ी बोझिल है। फ़ाइल को एक-एक करके निर्दिष्ट करना या निर्देशिकाओं का उपयोग करना हमेशा आदर्श नहीं होता है। कभी-कभी बदली गई फाइलें जिन्हें मैं छुटकारा पाना चाहता हूं वे निर्देशिकाओं के भीतर हैं जिन्हें मैं रखना चाहता हूं। मैं इस एक कमांड के लिए कामना करता हूं जो अस्थिर परिवर्तनों को हटा देता है और यहां आप हैं। धन्यवाद।

लेकिन मुझे लगता है कि उन्हें किसी भी विकल्प के बिना git checkout होना चाहिए, सभी अस्थिर परिवर्तनों को हटाएं और चरणबद्ध स्पर्श न करें। यह थोड़े मॉड्यूलर और अंतर्ज्ञानी है। git reset तरह अधिक। git clean भी वही करना चाहिए।


यह सब ठीक उसी पर निर्भर करता है जिसे आप पूर्ववत / वापस करने की कोशिश कर रहे हैं। .com/questions/1146973/… पढ़कर शुरू करें। लेकिन एक जवाब का प्रयास करने के लिए:

मुश्किल रीसेट

git reset --hard [HEAD]

पूरी तरह से ट्रैक की गई फ़ाइलों में सभी चरणबद्ध और अस्थिर परिवर्तनों को हटा दें।

मैं खुद को अक्सर हार्ड रीसेटिंग का उपयोग करता हूं, जब मैं ऐसा करता हूं "बस सब कुछ पूर्ववत करें जैसे कि मैंने रिमोट से एक पूर्ण पुनः क्लोन किया है"। आपके मामले में, जहां आप बस अपने रेपो प्रिस्टिन चाहते हैं, यह काम करेगा।

स्वच्छ

git clean [-f]

उन फ़ाइलों को हटाएं जिन्हें ट्रैक नहीं किया गया है।

अस्थायी फ़ाइलों को हटाने के लिए, लेकिन पहले से ट्रैक की गई फ़ाइलों में चरणबद्ध और अस्थिर परिवर्तन रखें। ज्यादातर बार, मैं शायद बार-बार सफाई की बजाय एक अनदेखा-नियम बनाना समाप्त कर दूंगा - उदाहरण के लिए सी # प्रोजेक्ट में बिन / ओब्जे फ़ोल्डर्स के लिए, जिसे आप आमतौर पर अंतरिक्ष को बचाने के लिए अपने रेपो से बाहर करना चाहते हैं, या ऐसा कुछ।

-एफ (बल) विकल्प उन फ़ाइलों को भी हटा देगा, जिन्हें ट्रैक नहीं किया जाता है और उन्हें अनदेखा-नियम के बावजूद गिट द्वारा अनदेखा किया जा रहा है। ऊपर दिए गए मामले में, अनदेखा-नियम के साथ बिन / ओबीजे फ़ोल्डरों को कभी ट्रैक न करें, भले ही इन फ़ोल्डर्स को गिट द्वारा अनदेखा किया जा रहा हो, बल-विकल्प का उपयोग करके उन्हें आपके फाइल सिस्टम से हटा दिया जाएगा। मैंने इसके लिए एक प्रयोग को देखा है, उदाहरण के लिए जब तैनाती स्क्रिप्टिंग करते हैं, और आप तैनाती, ज़िप या जो भी हो, से पहले अपना कोड साफ़ करना चाहते हैं।

गिट क्लीन फाइलों को छूएगा, जिन्हें पहले ही ट्रैक किया जा रहा है।

चेकआउट "डॉट"

git checkout .

आपकी पोस्ट पढ़ने से पहले मैंने वास्तव में इस नोटेशन को कभी नहीं देखा था। मुझे इसके लिए प्रलेखन खोजने में कठिनाई हो रही है (शायद कोई मदद कर सकता है), लेकिन थोड़ा सा खेलने से, ऐसा लगता है कि इसका मतलब है:

"मेरे काम करने वाले पेड़ में सभी बदलावों को पूर्ववत करें"।

Ie ट्रैक की गई फ़ाइलों में अस्थिर परिवर्तन पूर्ववत करें। यह स्पष्ट रूप से चरणबद्ध परिवर्तनों को स्पर्श नहीं करता है और अकेले अनचाहे फ़ाइलों को छोड़ देता है।

stashing

कुछ जवाब छेड़छाड़ का जिक्र करते हैं। जैसा कि शब्द का तात्पर्य है, आप शायद कुछ के बीच में (जब आप किसी प्रतिबद्धता के लिए तैयार नहीं होते) तो आप स्टैचिंग का उपयोग करेंगे, और आपको अस्थायी रूप से शाखाओं को स्विच करना होगा या किसी भी तरह से अपने कोड की दूसरी स्थिति पर काम करना होगा, बाद में आपके "गन्दा" पर वापस लौटना होगा डेस्क "। मुझे नहीं लगता कि यह आपके प्रश्न पर लागू होता है, लेकिन यह निश्चित रूप से आसान है।

सारांश में

आम तौर पर, अगर आपको विश्वास है कि आपने प्रतिबद्ध किया है और शायद रिमोट महत्वपूर्ण बदलावों को धक्का दिया है, तो यदि आप git reset --hard HEAD का उपयोग कर बस या आसपास खेल रहे हैं, तो git reset --hard HEAD बाद git clean -f निश्चित रूप से राज्य को आपके कोड को शुद्ध कर देगा, इसमें होगा, क्या इसे सिर्फ एक शाखा से क्लोन किया गया था और चेक आउट किया गया था। जोर देना वास्तव में महत्वपूर्ण है, कि रीसेटिंग चरणबद्ध, लेकिन असामान्य परिवर्तन भी हटा देगा। यह सबकुछ मिटा देगा जो प्रतिबद्ध नहीं हुआ है (अनचाहे फ़ाइलों को छोड़कर, इस मामले में, साफ उपयोग करें)।

अन्य सभी आदेश वहां अधिक जटिल परिदृश्यों को सुविधाजनक बनाने के लिए हैं, जहां "पूर्ववत करने वाली सामग्री" की ग्रैन्युलरिटी की आवश्यकता है :)

मुझे लगता है, आपका प्रश्न # 1 कवर किया गया है, लेकिन आखिरकार, # 2 पर निष्कर्ष निकालने के लिए: कारण आपको git reset --hard का उपयोग करने की आवश्यकता कभी नहीं मिली - यह था कि आपने कभी भी कुछ भी नहीं किया था। क्या आपने एक बदलाव किया था, न ही git checkout . न ही git clean -f ने इसे वापस कर दिया होगा।

उम्मीद है कि यह कवर।


सबसे पहले चेक में आपका महत्वपूर्ण परिवर्तन सहेजा गया है या नहीं:

$ गिट स्थिति

कोशिश करने से

$ गिट रीसेट - हार्ड

यह आपकी शाखा को डिफ़ॉल्ट रूप से रीसेट कर देगा

लेकिन अगर आपको केवल पूर्ववत करने की आवश्यकता है:

$ संपादित करें (1) $ git frotz.c filfre.c $ mailx (2) $ git रीसेट जोड़ें
(3) $ गिट पुल गिट: //info.example.com/ nitfol

और पढ़ें >> https://git-scm.com/docs/git-reset


इस पल में एक जवाब जोड़ने का कारण:

अब तक मैं अपने प्रारंभिक प्रश्न के लिए निष्कर्ष और 'उत्तर' जोड़ रहा था, जिससे सवाल बहुत लंबा हो गया था, इसलिए अलग जवाब में जाना।

मैंने अधिक बार उपयोग किए गए गिट कमांड भी जोड़े हैं जो मुझे किसी और की मदद करने के लिए गिट पर मदद करता है।

आपके द्वारा किए जाने से पहले पहला कदम यह है कि आप अपना उपयोगकर्ता नाम और ईमेल कॉन्फ़िगर करें जो आपकी प्रतिबद्धता के साथ दिखाई देता है।

# वह नाम सेट करें जिसे आप अपने प्रतिबद्ध लेनदेन से जोड़ना चाहते हैं

$ git config --global user.name "[name]"

# वह ईमेल सेट करता है जिसे आप अपने प्रतिबद्ध लेनदेन में जोड़ना चाहते हैं

$ git config --global user.email "[email address]"

# वैश्विक विन्यास सूचीबद्ध करें

$ git config --list

#अवस्था जांच

git status

# सभी स्थानीय और दूरस्थ शाखाओं को सूचीबद्ध करें

git branch -a

# एक नई स्थानीय शाखा बनाएं और इस शाखा पर काम करना शुरू करें

git checkout -b "branchname" 

या, यह दो चरणों की प्रक्रिया के रूप में किया जा सकता है

शाखा बनाएं: इस शाखा पर git branch branchname काम: git checkout branchname

#commit स्थानीय परिवर्तन [दो चरण प्रक्रिया: - फ़ाइल को इंडेक्स में जोड़ें, जिसका अर्थ है स्टेजिंग क्षेत्र में जोड़ना। फिर इस स्टेजिंग क्षेत्र में मौजूद फाइलें करें]

git add <path to file>

git commit -m "commit message"

# कुछ अन्य स्थानीय शाखा की जांच करें

git checkout "local branch name"

# स्थानीय शाखा में सभी परिवर्तनों को हटाएं [मान लीजिए कि आपने स्थानीय शाखा में कुछ बदलाव किए हैं जैसे नई फाइल जोड़ना या मौजूदा फाइल को संशोधित करना, या स्थानीय प्रतिबद्धता बनाना, लेकिन अब इसकी आवश्यकता नहीं है] git clean -d -f और git reset --hard [ स्थानीय शाखा में किए गए सभी स्थानीय परिवर्तनों को साफ करें, सिवाय इसके कि स्थानीय प्रतिबद्धता]

git stash -u भी सभी परिवर्तनों को हटा देता है

नोट: यह स्पष्ट है कि हम वांछित परिणाम प्राप्त करने के लिए git clean –d –f और git reset --hard (2) git stash -u के या तो (1) संयोजन का उपयोग कर सकते हैं।

नोट 1: छेड़छाड़ करना, क्योंकि शब्द का मतलब है 'स्टोर (कुछ) सुरक्षित और गुप्त रूप से किसी निर्दिष्ट स्थान पर।' यह हमेशा गिट स्टैश पॉप का उपयोग करके पुनः प्राप्त किया जा सकता है। तो उपरोक्त दो विकल्पों के बीच चयन डेवलपर कॉल है।

नोट 2: git reset --hard कार्यशील निर्देशिका परिवर्तनों को हटा देगा। इस आदेश को चलाने से पहले आप जो भी स्थानीय परिवर्तन रखना चाहते हैं उसे छिपाना सुनिश्चित करें।

# मास्टर शाखा में स्विच करें और सुनिश्चित करें कि आप अद्यतित हैं।

git checkout master

git fetch [मूल / मास्टर पर अपडेट प्राप्त करने के लिए यह आवश्यक हो सकता है (आपके गिट कॉन्फ़िगरेशन के आधार पर)

git pull

# फीचर शाखा को मास्टर शाखा में मर्ज करें।

git merge feature_branch

# मास्टर शाखा को मूल के राज्य में रीसेट करें।

git reset origin/master

# स्थानीय रूप से स्थानीय से एक फ़ाइल हटा दी गई, इसे वापस कैसे प्राप्त करें? हटाए गए संसाधन का पूरा फ़ाइलपैथ प्राप्त करने के लिए git status करें

git checkout branchname <file path name>

बस!

# Somegebranch के साथ मास्टर मास्टर शाखा

git checkout master
git merge someotherbranchname

#rename स्थानीय शाखा

git branch -m old-branch-name new-branch-name

#delete स्थानीय शाखा

git branch -D branch-name

# हटाई गई दूरस्थ शाखा

git push origin --delete branchname

या

git push origin :branch-name

# पहले से ही एक रिमोट रिपोजिटरी को धक्का दिया है

git revert hgytyz4567

जीआईटी का उपयोग कर पिछली प्रतिबद्धता से # ब्रंच

git branch branchname <sha1-of-commit>

# सबसे हालिया प्रतिबद्धता का संदेश संदेश बदलें जिसे पहले ही रिमोट पर धक्का दिया गया है

git commit --amend -m "new commit message"
git push --force origin <branch-name>

# इस शाखा पर सभी स्थानीय प्रतिबद्धताओं को छोड़कर [स्थानीय प्रतिबद्धताओं को हटाकर]

इस शाखा के सभी स्थानीय कार्यों को त्यागने के लिए, स्थानीय शाखा को इस शाखा के "अपस्ट्रीम" के समान बनाने के लिए, बस दौड़ें

git reset --hard @{u}

संदर्भ: http://sethrobertson.github.io/GitFixUm/fixup.html या git reset --hard origin/master [यदि स्थानीय शाखा मास्टर है]

# पहले से ही रिमोट रिपोजिटरी में धक्का दिया गया एक प्रतिबद्धता वापस लाएं?

$ git revert ab12cd15

# स्थानीय शाखा और रिमोट शाखा से पिछली प्रतिबद्धता हटाएं

उपयोग-केस: आपने बस अपनी स्थानीय शाखा में बदलाव किया और तुरंत रिमोट शाखा में धक्का दिया, अचानक एहसास हुआ, अरे नहीं! मुझे इस बदलाव की ज़रूरत नहीं है। अब क्या करें

git reset --hard HEAD~1 [स्थानीय शाखा से उस प्रतिबद्धता को हटाने के लिए। 1 आपके द्वारा किए गए एक प्रतिबद्धता को दर्शाता है]

git push origin HEAD --force [दोनों आदेशों को निष्पादित किया जाना चाहिए। रिमोट शाखा से हटाने के लिए]। वर्तमान में चेक आउट शाखा को शाखा के रूप में संदर्भित किया जाएगा जहां आप यह ऑपरेशन कर रहे हैं।

# स्थानीय और रिमोट रेपो से कुछ हालिया कामों को हटाएं और जो प्रतिबद्धता आप चाहते हैं उसे सुरक्षित रखें। (स्थानीय और रिमोट से एक प्रकार का रिवर्टिंग काम करता है)

आइए मान लीजिए कि आपके पास 3 काम हैं जिन्हें आपने ' develop ' नामक दूरस्थ शाखा में धक्का दिया है

commitid-1 done at 9am
commitid-2 done at 10am
commitid-3 done at 11am. // latest commit. HEAD is current here.

पुरानी प्रतिबद्धता (शाखा की स्थिति बदलने के लिए) पर वापस जाने के लिए

git log --oneline --decorate --graph // अपने सभी प्रतिबद्धताओं को देखने के लिए

git clean -d -f // किसी भी स्थानीय परिवर्तन को साफ करें

git reset --hard commitid-1 // स्थानीय रूप से इस प्रतिबद्धता पर वापस आ रहा है

git push -u origin +develop // इस राज्य को रिमोट पर धक्का दें। + बल धक्का करने के लिए

# स्थानीय गिट विलय को हटाएं: केस: मैं मास्टर शाखा पर हूं और एक नई कार्यकारी शाखा चरण 2 के साथ विलय मास्टर शाखा में हूं

$ git status

शाखा मास्टर पर

$ git merge phase2 $ git status

शाखा मास्टर पर

आपकी शाखा 8 मूल द्वारा 'उत्पत्ति / मास्टर' से आगे है।

प्रश्न: इस स्थानीय गिट विलय से कैसे छुटकारा पाएं? कोशिश की गई git reset --hard और git clean -d -f दोनों काम नहीं कर पाए। काम करने वाली एकमात्र चीज निम्न में से कोई भी है:

$ गिट रीसेट - मूल उत्पत्ति / मास्टर

या

$ गीट रीसेट - हार्ड ~ 8

या

$ git reset --hard 9a88396f51e2a068bb7 [शा कोड कोड - यह वह है जो आपके सभी मर्ज काम करने से पहले मौजूद था]

#create gitignore फ़ाइल

touch .gitignore // मैक या यूनिक्स उपयोगकर्ताओं में फ़ाइल बनाएं

नमूना .gitignore सामग्री:

.project
*.py
.settings

जीआईटी धोखा शीट का संदर्भ लिंक: https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf





git-bash