programming_code80
3 سال پیش توسط programming_code80 مطرح شد
5 پاسخ

بازگشت به حالت قبل دستوری که وارد کردم در ترمینال

سلام درود فراوان ؛ و خسته نباشید و خدا قوت
از اینکه وقت می زارید سوالم رو میخونید و پاسخ می دید ؛ بی نهایت سپاس گزارم

سوالم در این مورد که چطوری میتونم دستوری که داخل ترمینال وارد کردم
و یسری فایل هایی رو داخل پروژه لاراولی ساخته شده ؛ رو دوباره به نحوی کنترل زد بزنم
برگرده به حالت قبل از اینکه دستور وارد کرده باشم

مثلا من این دستور داخل ترمینال وارد کردم
composer dump
میشه گفت یسری تغییرات داخل فایل های لاراولی ام ایجاد شده
حال میخوام همه ی این تغیرات رو پاک کنم ؛ و به حالت قبل از اینکه ؛ این دستور وارد کنم
بر گرده
و همچنین یسری تغییرات به صورت دستی وارد کردم داخل فایل های پروژه ؛ میخوام اون هاهم یه مرحله به
قبل بر گرده

یعنی پروژه لاراولی که دارم تمرین می کنم ؛ یسری تغیرات اشتباهی وارد کردم
و دیگه کل پروژه کار نمیکنه و ارور های بی ربط میده ؛ میخوام یه دستوری رو وارد کنم ؛ یا اگه
اکستنشنی باشه نصب کنم ؛ که تغیراتی که
در پروژه اعمال کردم به اشتباهی ؛ برگرده به حالت قبل که کامپایل می کرد و خروجی نمایش می داد

چون این دستوری که برای تمرین کردن ؛ وارد کرده بودم ؛ نزدیک 5 الی 6 تا فایل ارورو به وجود اورده
یسری کدها به فایل های لاراولی اضافه کرده ؛ که هرکاری می کنم ؛ میام اون خط هارو پاک میکنم ؛ یا میام رفع ارورو می کنم
باز هست و بر طرف نمیشه

ممنون میشم راهنمایی بفرمایید
تشکر.


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

حتما در پروژه های تمرینی و ساده تون هم Version Control تون رو راه اندازی کنید. کمتر از چند ثانیه ازتون وقت می‌گیره ولی به شدت پرکاربرد هست.

به علاوه حتما در اسرع وقت برای یادگیری Git اقدام کنید و نحوه کارکرد کلیش از طریق کامندلاین و همچنین IDE محبوبتون رو مسلط بشید. جزو مهم‌ترین ابزارهای هر برنامه نویسی محسوب میشه. در خصوص منبع آموزشی هم الان مورد خاصی تو ذهنم نیست. ولی Laracasts و Jeffrey way تا جایی که یادمه چند تا دوره خیلی خوب و قوی داشت. حتی المقدور دور آموزش های فارسی رو هم خط بکشید. در یوتیوب هم دریایی از آموزش وجود داره.

اینکه گفتم این مسئله با Git برطرف نمیشه به معنای عدم توانایی Git نیست واقعا. بر میگرده به ساختار و منطق لاراول. شما باید منطق Cache رو بدونید. منطق کار کردن با package ها و نحوه کارکرد composer و autoload رو مسلط باشید. اگر مسئله براتون روشن شده باشه، در چنین مواقعی با اعتماد به نفس کامل می‌زنید مثلا کل پوشه vendor و bootstrap/cache و فایل composer.lock.json تون رو حذف می‌کنید و دوباره دستور composer install رو اجرا می‌کنید و خاطرتون جمع هست که اینجوری همه چیز به حالت پیش فرض خودش در اومده. همین قدر از بنده قبول کنید که اگر درست ازش استفاده کنید هیچ جا کارتون گیر نمی‌کنه.

اما فکر نکنم رول بک توی این ایراداتی که به وجود میاد از روی اشتباه ؛ کار ساز باشه. چون تا جایی که میدونم اون ها برای اشتباهاتی که در ماگریت کردن و تغیراتی که در استراکچر جداول دیتابیس به اشتباه به وجود میاریم مناسب هستن

کلیدواژه rollback هم در کامندهای migration وجود داره و هم در git و اگر چه مفاهیمشون مشترک هست ولی دو چیز کاملا جداگانه هستند و خیر کاربردش خیلی عام تر و وسیع تر از این هست.

بازهم اگر با git ارتباط برقرار نکردید یا در شرایط خاصی قرار گرفتید، می‌تونید قبل از اعمال تغییرات خاص کل سورس کد پروژتون رو در قالب یک فایل zip بک آپ بگیرید یا بصورت دستی نسخه بندیش کنید. چیز خیلی پیچیده ای نیست که نیاز به اکستنشن داشته باشه!

امیدوارم سایر دوستان هم بتونند بهتر کمک کنند. هیچ نیازی به انتخاب پاسخ برتر هم نیست.
موفق و پیروز باشید.


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش آپدیت شد
2

چون سوالتون کلیه پاسخ مشخصی هم ندارم. اما فکر نمی کنم دستور مشخصی برای Undo کردن تغییرات به این شکل که مدنظرتون هست وجود داشته باشه.

شاید بهترین و رایج ترین روش استفاده از gitباشه که اگر درست و به جا ازش استفاده کنید امکانات خیلی بیشتری نسبت به یک Undo ساده بهتون میده.

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

یک نکته دیگه هم اینکه لازمه تا حدی متوجه اتفاقاتی که با هر کامند می افته بشید. مثلا وقتی composer update می ‌زنیم یا composer dump-autoload چه اتفاقاتی پشت صحنه می افته. چون مثلا پوشه vendor تون نباید برای Version Control اضافه شده باشه. پس عملا گیت به این شکل به کارتون نمیاد و باید متوجه رابطه فایل composer.lock و composer.json با پوشه vendor شده باشید.

در این شرایط با اعتماد به نفس خیلی بیشتری می‌تونید تغییراتتون رو اعمال و یا حتی آزمون و خطا کنید.


programming_code80
تخصص : برنامه نویس بک اند وب
@code80 3 سال پیش آپدیت شد
0

@mhyeganeh
خیلی عالی و کامل جامع توضیح داده بودید ؛ ممنوم از وقتی که گذاشتید ؛ سپاس گزارم
پس بهتر که کار با گیت یاد بگیرم ؛ و پروژه هایی که تمرینی انجام می دم ؛ داخل اونم وارد کنم ؛ که اگه
خطایی در اصل کد به وجود امد ؛ بر گردم به ورژن قبل
البته شما فرمودید که توی این اشکالی که من داخل کد وجود اوردم ممکن نیست
گیت کارساز باشه ....

خیلی خوب میشه یه لینک مقاله ای ؛ یا یه لینک اموزشی ویدیو ؛ اگه دارید برام محبت کنید
در این زمینه هایی که اشاره کردید بفرستید

کامل متوجه شدم نکاتیی که اشاره کردید
اما گفتم باز خوب میشه دقیق تر این صحبت هایی که اشاره کردید بهتر درک کنم

اما فکر نکنم رول بک توی این ایراداتی که به وجود میاد از روی اشتباه ؛ کار ساز باشه
چون تا جایی که میدونم اون ها برای اشتباهاتی که در ماگریت کردن و تغیراتی که در استراکچر جداول دیتابیس به اشتباه
به وجود میاریم مناسب هستن

بعد این اتلود کردن هم به تازگی باهاش اشنا شده بودم ؛ گفتم بیام کار باهاش داخل پروژه تمرینی ام انجام بدم
که البته خراب کاری شد : که مجبور شدم نزدیک 5 6 تا فایل تغییر بدم ؛ که به حالت قبل برگرده

بعد بنظر شما (کنترل زد) کلی هست که به صورت اکستنشن باشه ؛ که تغیراتی که در 5 6 فایل اعمال شده به حالت قبل باز گرده ؟


programming_code80
تخصص : برنامه نویس بک اند وب
@code80 3 سال پیش مطرح شد
0

معذرت میخوام @mhyeganeh
قصد جسارت ندارم ؛ اگه ممکن ؛ من بهترین پاسخ ندم ؛ در حالی که واقعا عالی جامع بود صحبت هاتون
ببینم بقیه دوستان ؛ چه نظری می دهند


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

حتما در پروژه های تمرینی و ساده تون هم Version Control تون رو راه اندازی کنید. کمتر از چند ثانیه ازتون وقت می‌گیره ولی به شدت پرکاربرد هست.

به علاوه حتما در اسرع وقت برای یادگیری Git اقدام کنید و نحوه کارکرد کلیش از طریق کامندلاین و همچنین IDE محبوبتون رو مسلط بشید. جزو مهم‌ترین ابزارهای هر برنامه نویسی محسوب میشه. در خصوص منبع آموزشی هم الان مورد خاصی تو ذهنم نیست. ولی Laracasts و Jeffrey way تا جایی که یادمه چند تا دوره خیلی خوب و قوی داشت. حتی المقدور دور آموزش های فارسی رو هم خط بکشید. در یوتیوب هم دریایی از آموزش وجود داره.

اینکه گفتم این مسئله با Git برطرف نمیشه به معنای عدم توانایی Git نیست واقعا. بر میگرده به ساختار و منطق لاراول. شما باید منطق Cache رو بدونید. منطق کار کردن با package ها و نحوه کارکرد composer و autoload رو مسلط باشید. اگر مسئله براتون روشن شده باشه، در چنین مواقعی با اعتماد به نفس کامل می‌زنید مثلا کل پوشه vendor و bootstrap/cache و فایل composer.lock.json تون رو حذف می‌کنید و دوباره دستور composer install رو اجرا می‌کنید و خاطرتون جمع هست که اینجوری همه چیز به حالت پیش فرض خودش در اومده. همین قدر از بنده قبول کنید که اگر درست ازش استفاده کنید هیچ جا کارتون گیر نمی‌کنه.

اما فکر نکنم رول بک توی این ایراداتی که به وجود میاد از روی اشتباه ؛ کار ساز باشه. چون تا جایی که میدونم اون ها برای اشتباهاتی که در ماگریت کردن و تغیراتی که در استراکچر جداول دیتابیس به اشتباه به وجود میاریم مناسب هستن

کلیدواژه rollback هم در کامندهای migration وجود داره و هم در git و اگر چه مفاهیمشون مشترک هست ولی دو چیز کاملا جداگانه هستند و خیر کاربردش خیلی عام تر و وسیع تر از این هست.

بازهم اگر با git ارتباط برقرار نکردید یا در شرایط خاصی قرار گرفتید، می‌تونید قبل از اعمال تغییرات خاص کل سورس کد پروژتون رو در قالب یک فایل zip بک آپ بگیرید یا بصورت دستی نسخه بندیش کنید. چیز خیلی پیچیده ای نیست که نیاز به اکستنشن داشته باشه!

امیدوارم سایر دوستان هم بتونند بهتر کمک کنند. هیچ نیازی به انتخاب پاسخ برتر هم نیست.
موفق و پیروز باشید.


programming_code80
تخصص : برنامه نویس بک اند وب
@code80 3 سال پیش مطرح شد
0

ممنونم جناب آقای یگانه ؛ تشکر @mhyeganeh
نه اختیار دارید ؛ بزرگوارید ؛ خیلی ممنونم از وقتی که می زاید و راهنمایی می کنید ؛ حرف شما کامل متین برام
بعید میدونم دیگه کامل تر از اینی که شما گفته باشید دیگه وجود داشته باشه

متاسفانه زبانم در حدی نیست بتونم فعلا اموزش یوتیوب دنبال کنم
چه اموزش مناسب برای درک عمیق گیت ؟ از کدوم مدرس فارسی زبان
چون بنظرم درک عمیق ش خیلی مهم ؛ مخصوصا برای کار های تیمی که در شرکتی مشغول به کار میشیم
رایگان هم نبود مشکل نداره ؛ ارزش هزینه کردن داره بنظرم ؛ که اموزش کاملی تهیه کنم ....

من چطوری میتونم
منطق کار کردن با package ها و نحوه کارکردشون بهتر درک کنم ؟

بعد من وقتی اموزش php تموم کردم به سراغ لاراول رفتم
و دیگه دوره ی mvc نگاه نکردم ؛ چون تا جایی که میدونم و پرسیدم یه امر بیهوده ای
مثل این می مونه که در اخر بیایم یک فریمورک لاراول بنویسیم

اما اگه بنظر شما ام وی سی در ک کنم ؛ متیون بهتر به من کمک کنه ؛ که کار با فولدر های لاراول
در ک عمیق تر و بهتری پیدا کنم ؛ و به قول شما با اعتماد به نفس بزنم فولدر ها رو پاک کنم
و دوباره نصب کنم از طریق ترمینال


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام