گٹ: ایک موجودہ کمٹ میسج میں ترمیم کریں۔

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

تو کیا ہوگا اگر آپ موجودہ کمٹ میسج میں ترمیم کرنا چاہتے ہیں؟ خوش قسمتی سے یہ گٹ میں کرنا آسان ہے، لیکن طریقہ کچھ عوامل کے لحاظ سے تھوڑا سا بدل سکتا ہے۔

آخری کمٹ کو درست کریں، ابھی تک ریموٹ پر نہیں ڈالا گیا۔

یہ سب سے آسان معاملہ ہے کیونکہ ریموٹ ریپوزٹری میں ترمیم کرنے کی ضرورت نہیں ہے، آپ کو صرف اپنے آپ کو تبدیل کرنے کی ضرورت ہے۔ اس صورت میں، آپ مندرجہ ذیل کمانڈ استعمال کر سکتے ہیں:

$ git commit --amend

اس کمانڈ کو چلانے سے ایک ایڈیٹر کھل جائے گا جہاں آپ ترمیم کر سکتے ہیں۔ آخری پیغام بھیجیں. ایک بار جب آپ کام کر لیں اور ایڈیٹر کو محفوظ/بند کر دیں تو کمٹ میسج تبدیل ہو جائے گا۔

ذاتی طور پر، میں کمانڈ لائن پر زیادہ تر چیزیں کرنے کو ترجیح دیتا ہوں، جو آپ اوپر دی گئی کمانڈ میں دلیل اور پیغام شامل کر کے کر سکتے ہیں:

$ git commit --amend -m "Added a new file"

اسے اس طرح کرنے سے ایڈیٹر نہیں کھلے گا، بلکہ اس کے بجائے یہ صرف کمٹ میسج کو فوری طور پر تبدیل کر دے گا۔

آخری کمٹ کو درست کریں، ریموٹ پر دھکیل دیا گیا۔

یہ ایک اور عام معاملہ ہے، اور اسے ٹھیک کرنا قدرے مشکل ہے، نہ صرف اس لیے کہ ہمیں اپنے ذخیرے میں ترمیم کرنے کی ضرورت ہے، بلکہ ہمیں ریموٹ ریپوزٹری میں بھی ترمیم کرنے کی ضرورت ہے، جو آپ کی مقامی برانچ سے کہیں آگے ہوسکتی ہے۔

پہلا قدم آخری کمٹ میں ترمیم کرنا ہے، جیسا کہ ہم نے پچھلے حصے میں کیا تھا:

$ git commit --amend -m "Added a new file"

پھر، آپ کو ان تبدیلیوں کو ریموٹ ریپوزٹری میں دھکیلنے کی ضرورت ہے۔ تاہم، یہ استعمال کرتے ہوئے کیا جانا چاہئے --force پرچم.

$ git push <remote> <branch> --force

ہمیں اپنی مقامی ریاست کے ساتھ ریموٹ ریپوزٹری کو اوور رائٹ کرنے کے لیے اسے اس طرح کرنے کی ضرورت ہے۔

ہوشیار رہو کہ دھکا زبردستی کرکے، آپ بھی کریں گے۔ کھو مقامی برانچ میں کوئی بھی کمٹمنٹ جو آپ کی مقامی برانچ میں پہلے سے نہیں ہے۔ احتیاط سے آگے بڑھو!

بہترین طرز عمل، صنعت کے لیے منظور شدہ معیارات، اور چیٹ شیٹ کے ساتھ Git سیکھنے کے لیے ہمارے ہینڈ آن، عملی گائیڈ کو دیکھیں۔ گوگلنگ گٹ کمانڈز کو روکیں اور اصل میں سیکھ یہ!

اگر آپ غلطی کو تیزی سے پکڑ سکتے ہیں، تو تبدیلی کرنا کوئی مسئلہ نہیں ہوگا۔ بصورت دیگر، آپ کو کمٹ میسج کے بعد کی گئی کسی بھی تبدیلی کو کھونے سے بچنے کے لیے دوسرا حل تلاش کرنے کی ضرورت پڑ سکتی ہے جسے آپ تبدیل کرنا چاہتے ہیں۔

انٹرایکٹو ریبیس استعمال کریں۔

ایک اور آپشن، جو بیان کردہ پچھلے حلوں سے زیادہ لچکدار ہے، ایک انٹرایکٹو ریبیس استعمال کرنا ہے۔ ایسا کرنے سے آپ کو آخری N کمٹ کا معائنہ کرنے اور ان میں تبدیلیاں کرنے کی اجازت ملتی ہے، بشمول چننا، اسکواشنگ وغیرہ۔

دوبارہ شروع کرنے کے لیے، آپ درج ذیل کمانڈ کو استعمال کر سکتے ہیں:

$ git rebase -i HEAD~n

یہاں، n کمٹ کی تعداد ہے جو آپ معائنہ اور ترمیم کرنا چاہتے ہیں۔ اس کے بعد آپ کو وعدوں کی ایک فہرست نظر آئے گی، اس کی طرح:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















جیسا کہ آپ دیکھ سکتے ہیں کہ تمام آخری N وعدے درج ہیں، اور آپ ضرورت کے مطابق ان کے پیغامات میں ترمیم کر سکتے ہیں۔

ٹائم اسٹیمپ:

سے زیادہ Stackabuse