नए आने के लिए
git fetch
रीसेट
आप एक स्थानीय शाखा का उपयोग करके कमिट को रीसेट कर सकते हैं git reset
।
स्थानीय शाखा की प्रतिबद्धता को बदलने के लिए:
git reset origin/master --hard
हालाँकि, सावधान रहें क्योंकि दस्तावेज इसे कहते हैं:
सूचकांक और काम करने वाले पेड़ को रीसेट करता है। <प्रतिबद्ध> के बाद से कार्यशील ट्री में ट्रैक की गई फ़ाइलों में कोई भी परिवर्तन नहीं किया गया है।
यदि आप वास्तव में स्थानीय स्तर पर जो भी परिवर्तन करना चाहते हैं, उसे रखना चाहते हैं - --soft
इसके बजाय एक रीसेट करें। जो शाखा के लिए प्रतिबद्ध इतिहास को अपडेट करेगा, लेकिन कार्यशील निर्देशिका में किसी भी फाइल को नहीं बदलेगा (और फिर आप उन्हें प्रतिबद्ध कर सकते हैं)।
रिबेस
आप का उपयोग कर किसी भी अन्य प्रतिबद्ध / शाखा के शीर्ष पर अपने स्थानीय प्रतिबद्ध फिर से खेलना कर सकते हैं git rebase
:
git rebase -i origin/master
यह इंटरएक्टिव मोड में रिबास को आमंत्रित करेगा जहां आप चुन सकते हैं कि प्रत्येक व्यक्ति को कैसे लागू करना है जो उस इतिहास में नहीं है जिसे आप शीर्ष पर रिबास कर रहे हैं।
यदि आपके द्वारा हटाए गए (के साथ git push -f
) पहले से ही स्थानीय इतिहास में खींच लिए गए हैं, तो उन्हें उन कमिटों के रूप में सूचीबद्ध किया जाएगा जिन्हें फिर से लागू किया जाएगा - उन्हें रिबेस के हिस्से के रूप में हटा दिया जाना चाहिए या उन्हें बस इतिहास में फिर से शामिल किया जाएगा। शाखा के लिए - और अगले धक्का पर दूरस्थ इतिहास में फिर से दिखाई देना।
git command --help
उपरोक्त किसी भी (या अन्य) कमांड पर अधिक विवरण और उदाहरणों के लिए सहायता का उपयोग करें ।
git checkout master && git branch -D test && git checkout -b test origin/test