NINJA_LEARN_IR Telegram 787
خب خب خب، 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



tgoop.com/ninja_learn_ir/787
Create:
Last 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

BY Ninja Learn | نینجا لرن


Share with your friend now:
tgoop.com/ninja_learn_ir/787

View MORE
Open in Telegram


Telegram News

Date: |

How to build a private or public channel on Telegram? More>> As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. Concise Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa.
from us


Telegram Ninja Learn | نینجا لرن
FROM American