TG Telegram Group & Channel
Ninja Learn | نینجا لرن | United States America (US)
Create: Update:

خب خب خب، git reset🔄
توی گیت، دستور reset مثل یه دکمه ی سفر در زمانه که مارو به گذشته ی پروژه میبره. اما چند حالت مختلف داره و بسته به اینکه کدوم یکی از این حالت ها استفاده بشن میتونه روی تاریخچه ی پروژه هم تاثیر بزاره.

Mixed🟡
این حالت پیش فرض برای دستور reset هست. HEAD رو به کامیت مشخص شده برمیگردونه. تغییرات بعد از اون کامیت از Stage خارج میشن(unstaged) ولی تغییرات هنوز توی فایل ها هستن. برای موقعی که میخواین تغییرات باقی بمونن ولی توی Stage نباشن خوبه.
شکل کلی دستور ریست:

git reset <--mode> <commit-id>

دستور ریست با حالت mixed:
git reset --mixed HEAD~1
git reset HEAD~1 # هست mixed حالت پیش فرض همین

دستور بالا آخرین کامیت رو پاک میکنه، تغییرات هنوز وجود دارن ولی دیگه توی Stage نیستن.

Soft🔵
فقط HEAD رو برمیگردونه به کامیت مشخص شده. تغییرات بعد از اون کامیت رو توی Stage نگه میداره. زمانی استفاده میشه که بخوایم کامیت رو حذف کنیم ولی تغییرات باقی بمونن، برای commit مجدد یا اصلاح پیام.
git reset --soft HEAD~1

به طور مثال دستور بالا آخرین کامیت رو پاک میکنه و تغییرات رو توی Staging قرار میده.

Hard🔴
توی این حالت HEAD به کامیت مشخص شده برمیگرده، Staging area و فایل هارو کاملا با کامیت مشخص شده هماهنگ میکنه، درواقع هرتغییر یا کامیتی بعد از کامیت مشخص شده پاک میشه و پروژه برمیگرده به وضعیت همون کامیت. وقتی استفاده میشه که بخوایم همه چی رو مثل اون کامیت کنیم و تغییرات بعد از اون رو حذف کنیم.
git reset --hard HEAD~1

این دستور پروژه رو طوری تغییر میده که انگار اصلا کامیت آخر وجود نداشته. هیچ تغییری هیچ جایی ذخیره نمیشه و فایل ها برمیگردن به کامیت قبلی.

جمع بندی
✍️
دستور reset میتونه نجات دهنده و حتی مخرب باشه. میتونه پروژه رو نجات بده یا یه تغییر بزرگ رو از بین ببره. کاربردای مختلفی داره و برای برگشت به کامیت های قبلی به شکل های مختلف استفاده میشه.
#️⃣ #programming


🥷🏻 CHANNEL | GROUP

خب خب خب، git reset🔄
توی گیت، دستور reset مثل یه دکمه ی سفر در زمانه که مارو به گذشته ی پروژه میبره. اما چند حالت مختلف داره و بسته به اینکه کدوم یکی از این حالت ها استفاده بشن میتونه روی تاریخچه ی پروژه هم تاثیر بزاره.

Mixed🟡
این حالت پیش فرض برای دستور reset هست. HEAD رو به کامیت مشخص شده برمیگردونه. تغییرات بعد از اون کامیت از Stage خارج میشن(unstaged) ولی تغییرات هنوز توی فایل ها هستن. برای موقعی که میخواین تغییرات باقی بمونن ولی توی Stage نباشن خوبه.
شکل کلی دستور ریست:
git reset <--mode> <commit-id>

دستور ریست با حالت mixed:
git reset --mixed HEAD~1
git reset HEAD~1 # هست mixed حالت پیش فرض همین

دستور بالا آخرین کامیت رو پاک میکنه، تغییرات هنوز وجود دارن ولی دیگه توی Stage نیستن.

Soft🔵
فقط HEAD رو برمیگردونه به کامیت مشخص شده. تغییرات بعد از اون کامیت رو توی Stage نگه میداره. زمانی استفاده میشه که بخوایم کامیت رو حذف کنیم ولی تغییرات باقی بمونن، برای commit مجدد یا اصلاح پیام.
git reset --soft HEAD~1

به طور مثال دستور بالا آخرین کامیت رو پاک میکنه و تغییرات رو توی Staging قرار میده.

Hard🔴
توی این حالت HEAD به کامیت مشخص شده برمیگرده، Staging area و فایل هارو کاملا با کامیت مشخص شده هماهنگ میکنه، درواقع هرتغییر یا کامیتی بعد از کامیت مشخص شده پاک میشه و پروژه برمیگرده به وضعیت همون کامیت. وقتی استفاده میشه که بخوایم همه چی رو مثل اون کامیت کنیم و تغییرات بعد از اون رو حذف کنیم.
git reset --hard HEAD~1

این دستور پروژه رو طوری تغییر میده که انگار اصلا کامیت آخر وجود نداشته. هیچ تغییری هیچ جایی ذخیره نمیشه و فایل ها برمیگردن به کامیت قبلی.

جمع بندی
✍️
دستور reset میتونه نجات دهنده و حتی مخرب باشه. میتونه پروژه رو نجات بده یا یه تغییر بزرگ رو از بین ببره. کاربردای مختلفی داره و برای برگشت به کامیت های قبلی به شکل های مختلف استفاده میشه.
#️⃣ #programming


🥷🏻 CHANNEL | GROUP
🔥11👍21


>>Click here to continue<<

Ninja Learn | نینجا لرن




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)