git reset -mixed، -soft، اور -hard کے درمیان کیا فرق ہے؟

Git Reset Mixed Soft Awr Hard K Drmyan Kya Frq



گٹ پر، ہر کمٹ پچھلی کمٹ سے منسلک ہوتا ہے، اور ہیڈ ورکنگ برانچ میں حالیہ کمٹ کی طرف اشارہ کرتا ہے۔ عہد کی تاریخ کو عہد کے درخت کے طور پر محفوظ کیا جاتا ہے۔ تاہم، بعض اوقات ڈویلپرز کو کمٹ کی تاریخ میں ترمیم کرنے کی ضرورت ہوتی ہے۔ اس مقصد کے لیے، ' $ گٹ دوبارہ ترتیب دیں۔ کمانڈ کا استعمال گٹ ریپوزٹری کی تاریخ میں ترمیم کرنے اور غلطیوں کو دور کرنے کے لیے کیا جاتا ہے۔

یہ مضمون مختصر طور پر git reset – hard, –soft, اور – mixed کے درمیان فرق کی وضاحت کرے گا۔

git reset -mixed، -soft، اور -hard کے درمیان کیا فرق ہے؟

گٹ متعدد ری سیٹ کے اختیارات فراہم کرتا ہے۔ اس بنیاد پر کہ وہ کمٹ کو کیسے ہینڈل کرتے ہیں، تمام دستیاب اختیارات ایک دوسرے سے مختلف ہیں۔ وہ سب گٹ کی تاریخ میں ترمیم کرتے ہیں اور ہیڈ کو واپس لے جاتے ہیں۔ اس کے علاوہ، وہ تبدیلیوں کو مختلف طریقے سے ہینڈل کرتے ہیں، جیسے:







  • ' - نرم 'آپشن' کے ساتھ استعمال کیا جاتا ہے $ گٹ دوبارہ ترتیب دیں۔ فائلوں کو رکھنے اور گٹ اسٹیجنگ انڈیکس میں کمٹ کی تبدیلیوں کو واپس کرنے کا کمانڈ۔
  • ' $ گٹ ری سیٹ - مخلوط ” کا استعمال کمٹ کی تبدیلیوں کو کالعدم کرنے اور فائل کو ورکنگ ڈائرکٹری سے حذف کیے بغیر اسٹیجنگ انڈیکس سے ہٹانے کے لیے استعمال کیا جاتا ہے۔
  • ' -سخت 'کے ساتھ آپشن' $ گٹ دوبارہ ترتیب دیں۔ کمانڈ تمام تبدیلیوں کو حذف کرنے اور انہیں مقامی ورکنگ ڈائرکٹری سے ہٹانے کے لیے استعمال کیا جاتا ہے۔

آئیے یہ دیکھنے کے لیے ایک مثال لیتے ہیں کہ ' $ گٹ دوبارہ ترتیب دیں۔ کمانڈ مختلف اختیارات کے ساتھ کام کرتا ہے!



مرحلہ 1: مطلوبہ گٹ ریپوزٹری پر جائیں۔

سب سے پہلے، 'کا استعمال کرکے اپنے مطلوبہ گٹ ریپوزٹری میں جائیں۔ سی ڈی ' کمانڈ:



$ سی ڈی 'C:\go \t is_repo'





مرحلہ 2: فائل بنائیں

اب، فائل بنانے کے لیے نیچے دی گئی کمانڈ پر عمل کریں:

$ چھو فائل4.txt



مرحلہ 3: اسٹیجنگ انڈیکس میں فائل شامل کریں۔

کا استعمال کرتے ہیں ' git شامل کریں نئی تیار کردہ فائل کو اسٹیجنگ انڈیکس میں شامل کرنے کے لیے کمانڈ:

$ git شامل کریں فائل4.txt

مرحلہ 4: تبدیلیاں کریں۔

اگلا، کام کرنے والے ذخیرے میں تمام تبدیلیاں شامل کر کے ' git کمٹ ' کمانڈ:

$ git کمٹ -m 'فائل 4 شامل کیا گیا'

مرحلہ 5: گٹ لاگ کو چیک کریں۔

پھر، شامل کیے گئے تازہ ترین وعدوں کو دیکھنے کے لیے گٹ لاگ ہسٹری چیک کریں:

$ گٹ لاگ

نیچے دیے گئے آؤٹ پٹ میں، یہ دیکھا جا سکتا ہے کہ تمام تازہ ترین شامل کیے گئے وعدے دکھائے گئے ہیں، اور ' سر 'حالیہ عہد کی طرف اشارہ کر رہا ہے:

نوٹ: ہیڈ کی موجودہ پوائنٹنگ پوزیشن کو بہتر طریقے سے چیک کرنے کے لیے، ' گٹ لاگ 'حکم کے ساتھ' -ایک لکیر پرچم:

$ گٹ لاگ --آن لائن

نیچے دی گئی آؤٹ پٹ کمٹ میسیجز کے ساتھ کمٹ SHA ہیش کی فہرست دکھاتی ہے۔

مرحلہ 6: git reset -soft کمانڈ استعمال کریں۔

Git ریپوزٹری سے اسٹیجنگ انڈیکس میں شامل تبدیلیوں کو واپس کرنے کے لیے، ' git دوبارہ ترتیب دیں 'حکم کے ساتھ' - نرم ” اختیار، اور مطلوبہ ہیڈ پوزیشن کی وضاحت کریں جہاں پوائنٹر کو منتقل کرنے کی ضرورت ہے:

$ git دوبارہ ترتیب دیں -- نرم سر ~ 1

مرحلہ 7: گٹ اسٹیٹس چیک کریں۔

اب، HEAD کی واپسی کی پوزیشن کی تصدیق کریں Git repository کی حیثیت کو چیک کریں:

$ گٹ کی حیثیت

دیکھا جا سکتا ہے کہ ' git reset -soft کمانڈ نے گٹ اسٹیجنگ انڈیکس میں کمٹ کی تبدیلیاں واپس کردی ہیں۔ مزید یہ کہ ' فائل4.txt فائل اب گٹ اسٹیجنگ انڈیکس میں ہے اور اس کا ارتکاب کرنے کی ضرورت ہے:

مرحلہ 8: گٹ لاگ کو چیک کریں۔

ہیڈ کی موجودہ پوزیشن کو دیکھنے کے لیے دی گئی کمانڈ کو ' کے ساتھ چلائیں -ایک لکیر 'اختیار:

$ گٹ لاگ --آن لائن

یہاں، سر اشارہ کر رہا ہے ' فائل 3 عزم:

مرحلہ 9: گٹ ری سیٹ - مخلوط کمانڈ استعمال کریں۔

پرعزم تبدیلیوں کو کالعدم کرنے اور فائلوں کو ورکنگ ڈائرکٹری سے حذف کیے بغیر سٹیجنگ ایریا سے ہٹانے کے لیے، ' $ گٹ ری سیٹ - مخلوط کمٹ کی مطلوبہ ہیڈ پوزیشن کے ساتھ کمانڈ:

$ git دوبارہ ترتیب دیں --ملا ہوا سر ~ 1

مرحلہ 10: گٹ اسٹیٹس چیک کریں۔

Git ذخیرہ کی حیثیت کو چیک کرکے نئی شامل کردہ تبدیلیاں دیکھیں:

$ گٹ کی حیثیت

یہ دیکھا جا سکتا ہے کہ مخصوص کمٹ تبدیلیاں سٹیجنگ ایریا سے ہٹا دی جاتی ہیں۔ تاہم، وہ کام کرنے والے علاقے میں رکھے گئے ہیں:

مرحلہ 11: گٹ لاگ کو چیک کریں۔

SHA ہیش کے ساتھ Git ریپوزٹری ریفرنس لاگ ہسٹری چیک کریں:

$ گٹ لاگ --آن لائن

مرحلہ 12: گٹ ری سیٹ - ہارڈ کمانڈ استعمال کریں۔

Git لوکل ورکنگ ڈائرکٹری سے اضافی تبدیلیاں ہٹانے کے لیے، ' $ git reset - hard ' کمانڈ:

$ git دوبارہ ترتیب دیں --سخت سر ~ 1

مرحلہ 13: واپس کیے گئے ہیڈ پوائنٹر کی تصدیق کریں۔

ہیڈ پوائنٹر کی تصدیق کرنے کے لیے، مخصوص پوزیشن پر واپس جائیں، چلائیں ' گٹ لاگ ' کمانڈ:

$ گٹ لاگ --آن لائن

نیچے آؤٹ پٹ سے پتہ چلتا ہے کہ ہیڈ 'کی طرف اشارہ کر رہا ہے۔ فائل 1 شامل کی گئی۔ عزم:

مرحلہ 14: گٹ اسٹیٹس چیک کریں۔

شامل کردہ تبدیلیوں کو دیکھنے کے لیے، Git کی حیثیت کو چیک کریں:

$ گٹ کی حیثیت

یہ دیکھا جا سکتا ہے کہ ہمارے پاس 'کی کوئی ٹریک اور زیر التواء تبدیلیاں نہیں ہیں File2.txt 'فائل. لہذا، File2.txt کو مکمل طور پر ہٹا دیا گیا ہے:

مرحلہ 15: ذخیرہ مواد کی فہرست کی تصدیق کریں۔

مواد کی مخزن کی فہرست کی تصدیق کرنے کے لیے، چلائیں ' ls ' کمانڈ:

$ ls

جیسا کہ آپ دیکھ سکتے ہیں، ' File2.txt ' فائل موجودہ ڈائرکٹری میں موجود نہیں ہے:

ہم نے git reset -mixed، -soft، اور -hard آپشنز کے درمیان فرق کی وضاحت کی ہے۔

نتیجہ

' git دوبارہ ترتیب دیں کمانڈ کا استعمال تبدیلیوں کو دوبارہ ترتیب دینے، گٹ ریپوزٹری کی تاریخ میں ترمیم کرنے اور غلطیوں کو ٹھیک کرنے کے لیے کیا جاتا ہے۔ ' git reset -soft کمانڈ فائلوں کو رکھتا ہے اور گٹ اسٹیجنگ ایریا میں کمٹ تبدیلیاں واپس کرتا ہے۔ اس کے برعکس، ' git reset - مخلوط کمانڈ تبدیلیوں کو کالعدم کریں اور فائل کو ورکنگ ڈائرکٹری سے حذف کیے بغیر اسٹیجنگ انڈیکس سے ہٹا دیں۔ تمام تبدیلیوں کو حذف کرنے اور انہیں گٹ ورکنگ ایریا سے ہٹانے کے لیے، ' git reset - hard کمانڈ استعمال کیا جا سکتا ہے۔ اس آرٹیکل نے گٹ ری سیٹ – مخلوط، – نرم اور – ہارڈ کے درمیان فرق کو واضح کیا۔