Git: یک پیام Commit موجود را تغییر دهید

اشتباهات رایج هستند، همه ما مرتکبشان می شویم. برای همین روی مداد پاک کن می گذارند. و این با ابزارهایی مانند Git تفاوتی ندارد. در حالی که بازگرداندن برخی تغییرات ممکن است دشوار باشد، معمولا راهی وجود دارد.

بنابراین اگر بخواهید یک پیام commit موجود را تغییر دهید چه؟ خوشبختانه انجام این کار در Git ساده است، اما بسته به عواملی ممکن است روش کمی تغییر کند.

Last Commit را که هنوز به Remote منتقل نشده است، رفع کنید

این ساده ترین حالت است زیرا نیازی به تغییر مخزن راه دور نیست، فقط باید مخزن خود را تغییر دهید. در این حالت می توانید از دستور زیر استفاده کنید:

$ git commit --amend

با اجرای این دستور یک ویرایشگر باز می شود که می توانید آن را تغییر دهید آخر ارتکاب پیام پس از اتمام کار و ذخیره/بستن ویرایشگر، پیام commit تغییر خواهد کرد.

من شخصاً ترجیح می دهم بیشتر کارها را در خط فرمان انجام دهم که می توانید با افزودن یک آرگومان و پیام به دستور بالا انجام دهید:

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

انجام این کار ویرایشگر را باز نمی‌کند، اما در عوض بلافاصله پیام commit را تغییر می‌دهد.

رفع آخرین ارتکاب، فشار داده شده به ریموت

این یک مورد رایج دیگر است و رفع آن کمی دشوارتر است، نه تنها به این دلیل که ما باید مخزن خود را اصلاح کنیم، بلکه باید مخزن راه دور را نیز تغییر دهیم، که می تواند جلوتر از شعبه محلی شما باشد.

اولین قدم اصلاح آخرین commit است، درست مانند آنچه در بخش قبل انجام دادیم:

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

سپس، باید این تغییرات را به مخزن راه دور فشار دهید. با این حال، این باید با استفاده از --force پرچم.

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

ما باید این کار را به این روش انجام دهیم تا مخزن راه دور را با حالت محلی خود بازنویسی کنیم.

حواستان باشد که با فشار دادن، این کار را نیز انجام خواهید داد از دست دادن هر گونه تعهد در شعبه محلی که قبلاً در شعبه محلی خود ندارید. با توجه ادامه بدهید!

راهنمای عملی و عملی ما برای یادگیری Git را با بهترین روش ها، استانداردهای پذیرفته شده در صنعت و برگه تقلب شامل بررسی کنید. دستورات Google Git را متوقف کنید و در واقع یاد گرفتن آی تی!

اگر بتوانید به اندازه کافی سریع اشتباه را متوجه شوید، ایجاد تغییر مشکلی نخواهد داشت. در غیر این صورت، ممکن است لازم باشد راه حل دیگری برای جلوگیری از از دست دادن تغییرات ایجاد شده پس از پیام commit که می خواهید تغییر دهید پیدا کنید.

از Interactive Rebase استفاده کنید

گزینه دیگری که نسبت به راه حل های قبلی توضیح داده شده انعطاف پذیرتر است، استفاده از یک rebase تعاملی است. انجام این کار به شما این امکان را می دهد تا آخرین N commit ها را بررسی کرده و تغییراتی از جمله برداشتن، له کردن و غیره در آنها ایجاد کنید.

برای شروع rebase می توانید از دستور زیر استفاده کنید:

$ git rebase -i HEAD~n

در اینجا، n تعداد commit هایی است که می خواهید بررسی و ویرایش کنید. سپس لیستی از commit ها را مشاهده خواهید کرد، مشابه این:

$ $ 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 commit های آخر لیست شده اند و می توانید پیام های آنها را در صورت نیاز تغییر دهید.

تمبر زمان:

بیشتر از Stackabuse