امروز یه دستور تقریبا جدید از گیت یاد گرفتم و خواستم اینجا بنویسمش. این دستور از گیت نسخه 2.23 اضافه شده و از نظر من میتونه جزو دستورهای پرکاربردمون باشه.
گیت ریاستور میاد تغییرات موقت که هنوز add نشدن رو حذف میکنه.
فرض کنید دارید یه باگی رو رفع میکنید و تا الان ۱۰ تا فایل رو تغییر دادید ولی هنوز کارتون تموم نشده که بخواید یه کامیت بامعنی بزنید، هنوز لازمه که چندتا لاگ جاهای مختلف بذارید و یه سری چیزها رو تست کنید و بعد که مطمئن شدید همه چیز ردیفه کامیت کنید. برای اینکه این لاگهای موقت رو توی کامیت جا نذاریم یه راه خوب هست.
تا جایی که همه چیز اکی هست میایم git add . میزنیم و همه چیز رو میفرستیم تو حالت staged (یا همون حالت سبز توی git status).
بعد لاگها و کارهای موقتی که لازم هست رو اضافه میکنیم.
حالا که از نتیجه مطمئن هستیم و فکر میکنیم که همه چیز درست کار میکنه میایم git restore . میزنیم. این دستور میاد هر چیزی که هنوز add نشده (یا توی git status هنوز قرمز هست) رو پاک میکنه.
الان فقط یه local repository تمیز داریم که فقط فایلهایی که add شده بودن هنوز هستن و تغییرات موقت (حتی روی همون فایلهایی که add شده بودن) از بین رفته. پس با خیال راحت و بدون اینکه دوباره از اول diff رو بررسی کنیم یه git commit میزنیم و تمام.