راهنمای بقای Ned's Git 📚

Summarize this content to 400 words in Persian Lang
به Ned's Git Survival Guide خوش آمدید! 📚 در این راهنما، دستورات ضروری Git مانند git checkout y git restore برای لغو تغییرات، git stash برای ذخیره موقت کار غیرمتعهد، git cherry-pick برای کشیدن commit های خاص از یک شاخه به شاخه دیگر و git reflog برای بازیابی “تعهدات از دست رفته”. چه در حال رفع یک باگ باشید، چه در حال تغییر اولویتها به دلیل تصمیم رئیستان یا بازیابی کدهای حذف شده، این دستورات به شما کمک میکند تا سناریوهای رایج را با اطمینان مدیریت کنید. بنابراین، بیایید با هم شیرجه بزنیم و به Git مسلط شویم!
این چیزی است که امروز خواهیم آموخت:
فهرست 📋
قسمت 1: روز اول کار و اشتباهات
با استفاده از git checkout برای بازیابی فایل ها از یک commit قبلی.
ذخیره تغییرات غیرمتعهد با git restore.
قسمت 2: ما یک اولویت جدید داریم، هیوستون
نحوه ذخیره فایل های ردیابی نشده با git stash.
ذخیره ها را مدیریت کنید و در صورت لزوم آنها را بازیابی کنید.
قسمت 3: ¡Crisis de CoolFeature!
برای استفاده git cherry-pick برای انتخاب و اعمال commit های خاص.
قسمت 4: درام “من نظرم را تغییر دادم”
بازیابی commit های حذف شده با git reflog.
نتیجه گیری
فرض کنید در حال ساخت یک برنامه نقشه برداری برای محل کار شما هستیم و ساختار پوشه زیر را داریم:
ما فایل خود را بازسازی می کنیم main.tsx چون ما می خواهیم MapsApp.tsx فایل اصلی برنامه ما باشد، اما به طور تصادفی خطایی را معرفی می کنیم.
ما متوجه آن نیستیم و اقدام به commit و فشار به مخزن راه دور می کنیم:
(در صورتی که کنجکاو هستید، من از gitmoji برای پیام های commit جالب استفاده می کنم.)
اکنون، پروژه خود را اجرا می کنید و متوجه می شوید که یک خطا در آن وجود دارد main.tsx چون کنسول به شما می گوید، اما به دلایلی نمی توانید آن را پیدا کنید – شاید عصبی باشید، بنابراین …
چیکار کنم که سرزنشم نکنن؟
نکته شماره 1: بازیابی فایل ها جان انسان ها را نجات می دهد
در این سناریو، برای سادگی، اجازه دهید فرض کنیم که پروژه را قبل از بازسازی به عنوان یک تمرین خوب پیش برده اید (در غیر این صورت با مشکل مواجه هستید). شما استفاده می کنید git log، و موارد زیر را به شما نشان می دهد:
از آنجایی که شما یک فایل قدیمی خوب دارید، می توانید به سادگی استفاده کنید git log و انتخاب کنید هش کردن که می خواهید آن را بازیابی کنید. در مورد ما این است:
سپس به نوشتن ادامه دهید:
git checkout 4d7490e src/main.tsx
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
و شما آن را بازیابی کردید – تادا!
سلام، من فقط یک commit در پروژه خود دارم، آیا می توانم آن را برگردانم؟
نکته شماره 2: استفاده کنید git restore برای تغییرات غیرمتعهد
شما تغییرات غیرمتعهد زیر را دارید main.tsx:
می توانید تأیید کنید که آنها به الف متعهد نیستند git status:
و تو git log فقط اولین commit را دارد که در آن پروژه خود را ایجاد کردید:
شما دو گزینه دارید، یکی آسان و دیگری دشوار:
# La fácil
git restore src/main.tsx
# La difícil
git checkout — src/main.tsx
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
من میرم با restore:
حالا فایل ما دوباره تمیز است! هورا!
اکنون، رئیس یا رهبر تیم شما تصمیم می گیرد که روز خوبی برای تغییر اولویت ها است (زیرا این موضوع آنهاست). فرض کنید در حال ایجاد یک صفحه جدید به نام هستید MyCoolPage.tsx:
حالا شما باید تصمیم بگیرید: آیا باید commit ها را commit و سپس rebase کنم، مواردی را که می خواهم انتخاب کنم و آن را تمیز کنم؟
بعداً فقط برای آن تغییر زمان زیادی را تلف خواهم کرد، چه کاری می توانم انجام دهم؟
نکته 3: آن را ذخیره کن، برادر
در این مورد مراقب باشید! این مثال خاص شامل ایجاد یک فایل جدید است که در مخزن شما وجود ندارد، بنابراین باید از موارد زیر استفاده کنید:
git stash –include-untracked
# O la bandera más corta
git stash -u
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اکنون، می بینید که فایل دیگر در اختیار ما نیست:
اما اگر بنویسید:
git stash list
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
هنوز اینجاست:
نام انبار است stash@{0}.
اکنون چندین گزینه داریم:
# Podemos extraer el stash y eliminarlo de la lista con un simple
git stash pop
# O aplicarlo y dejarlo en la lista para que podamos acceder a él más tarde con
git stash apply stash@{número de tu stash}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
من میرم با pop، و می توانید ببینید که بازگشته است:
وقتی سعی میکنم استفاده کنم git stash list، چیزی را نشان نمی دهد زیرا در نهایت از لیست استخراج شد:
شما در حال کار بر روی شاخه دیگری برای یک ویژگی به نام هستید feature/myCoolFeature، که سه الزام دارد. شما قبلاً دو مورد از آنها را تکمیل کرده اید، بنابراین دو commit در آن شاخه دارید.
حالا رئیستان به شما می گوید: هی، ما نیاز داریم CoolFeature که شما از شعبه خود مستقر کردید، اما فقط اولین، و ما اکنون به آن نیاز داریم!
شما می توانید یک شاخه از شاخه فعلی ایجاد کنید، commit HEAD را حذف کرده و آن را در آن ادغام کنید main، اما برای چنین کار ساده ای خیلی زیاد است.
اوه مرد، من برای این به زمان نیاز دارم و آنها اکنون به آن نیاز دارند، آیا راه سریع تری وجود دارد؟
نکته 4: از Cherry-Pick برای دریافت این تعهد استفاده کنید
و یک تو راما main باهم git checkout main و گزارش شعبه دیگر را با:
git log feature/myCoolFeature
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
سپس، commit خاص را انتخاب کنید:
git cherry-pick 714cf87
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
و لینوس توروالدز (خلق Git و Linux) دوباره روز را نجات می دهد! و اگر استفاده می کنید git log، می توانید ببینید که تغییرات شما وجود دارد:
فرض کنید یک ویژگی جدید ایجاد کرده اید:
شما اضافه کنید و درست کنید
متعهد شوید، اما نظر خود را تغییر می دهید و تصمیم به حذف آن می گیرید، بنابراین به جستجو در گوگل ادامه می دهید cómo eliminar un commit. شما که با a git reset –hard HEAD~1، شما اقدام به استفاده از آن می کنید.
شما خوب هستید تا زمانی که متوجه شوید می خواهید دوباره از برخی کدها استفاده کنید، اما اکنون که از آن استفاده می کنید git log، نمی توانید آن را پیدا کنید. شما فکر می کنید:
او برای همیشه رفته است، حالا من زمان را تلف می کنم …
نکته شماره 5: اگر نمی توانید آن را در آن پیدا کنید git log، وقت آن است که reflog
فقط جادوی این دستور را بررسی کنید:
git reflog
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اکنون هش برای بازگردانی commit خود دارید:
یک پایان خوش دیگر!
تبریک میگوییم، شما کتابچه راهنمای بقای Git خود را تأیید کردهاید! 🎉 درست مانند کتاب راهنمای بقای مدرسه Ned 📚، اکنون مجموعه خوبی از ابزارها برای پیمایش در راهروهای پیچیده کنترل نسخه دارید. از زمان استفاده git checkout برای رفع این اشکالات تصادفی، صرفه جویی در تغییرات غیرمتعهد مانند یک حرفه ای، cherry-pick زمانی که فشار زیاد است انجام می شود، حتی کار از دست رفته را نجات دهید git reflog، شما آماده هستید تا با اطمینان خاطر هر چالش Git را انجام دهید. بنابراین، این نکات را عملی کنید و پروژه های خود را به خوبی اجرا کنید.
با تشکر ویژه از Midu بدون کتاب Git او، من نمی توانستم این مقاله را انجام دهم. 🙏💻✨
با تشکر برای خواندن!
برادر، نظرات یا پیشنهادات خود را در مورد Git در نظرات زیر به من بگویید 👇
به Ned's Git Survival Guide خوش آمدید! 📚 در این راهنما، دستورات ضروری Git مانند git checkout
y git restore
برای لغو تغییرات، git stash
برای ذخیره موقت کار غیرمتعهد، git cherry-pick
برای کشیدن commit های خاص از یک شاخه به شاخه دیگر و git reflog
برای بازیابی “تعهدات از دست رفته”. چه در حال رفع یک باگ باشید، چه در حال تغییر اولویتها به دلیل تصمیم رئیستان یا بازیابی کدهای حذف شده، این دستورات به شما کمک میکند تا سناریوهای رایج را با اطمینان مدیریت کنید. بنابراین، بیایید با هم شیرجه بزنیم و به Git مسلط شویم!
این چیزی است که امروز خواهیم آموخت:
فهرست 📋
-
قسمت 1: روز اول کار و اشتباهات
- با استفاده از
git checkout
برای بازیابی فایل ها از یک commit قبلی. - ذخیره تغییرات غیرمتعهد با
git restore
.
- با استفاده از
-
قسمت 2: ما یک اولویت جدید داریم، هیوستون
- نحوه ذخیره فایل های ردیابی نشده با
git stash
. - ذخیره ها را مدیریت کنید و در صورت لزوم آنها را بازیابی کنید.
- نحوه ذخیره فایل های ردیابی نشده با
-
قسمت 3: ¡Crisis de CoolFeature!
- برای استفاده
git cherry-pick
برای انتخاب و اعمال commit های خاص.
- برای استفاده
-
قسمت 4: درام “من نظرم را تغییر دادم”
- بازیابی commit های حذف شده با
git reflog
.
- بازیابی commit های حذف شده با
-
نتیجه گیری
فرض کنید در حال ساخت یک برنامه نقشه برداری برای محل کار شما هستیم و ساختار پوشه زیر را داریم:
ما فایل خود را بازسازی می کنیم main.tsx
چون ما می خواهیم MapsApp.tsx
فایل اصلی برنامه ما باشد، اما به طور تصادفی خطایی را معرفی می کنیم.
ما متوجه آن نیستیم و اقدام به commit و فشار به مخزن راه دور می کنیم:
(در صورتی که کنجکاو هستید، من از gitmoji برای پیام های commit جالب استفاده می کنم.)
اکنون، پروژه خود را اجرا می کنید و متوجه می شوید که یک خطا در آن وجود دارد main.tsx
چون کنسول به شما می گوید، اما به دلایلی نمی توانید آن را پیدا کنید – شاید عصبی باشید، بنابراین …
چیکار کنم که سرزنشم نکنن؟
نکته شماره 1: بازیابی فایل ها جان انسان ها را نجات می دهد
در این سناریو، برای سادگی، اجازه دهید فرض کنیم که پروژه را قبل از بازسازی به عنوان یک تمرین خوب پیش برده اید (در غیر این صورت با مشکل مواجه هستید). شما استفاده می کنید git log
، و موارد زیر را به شما نشان می دهد:
از آنجایی که شما یک فایل قدیمی خوب دارید، می توانید به سادگی استفاده کنید git log
و انتخاب کنید هش کردن که می خواهید آن را بازیابی کنید. در مورد ما این است:
سپس به نوشتن ادامه دهید:
git checkout 4d7490e src/main.tsx
و شما آن را بازیابی کردید – تادا!
سلام، من فقط یک commit در پروژه خود دارم، آیا می توانم آن را برگردانم؟
نکته شماره 2: استفاده کنید git restore
برای تغییرات غیرمتعهد
شما تغییرات غیرمتعهد زیر را دارید main.tsx
:
می توانید تأیید کنید که آنها به الف متعهد نیستند git status
:
و تو git log
فقط اولین commit را دارد که در آن پروژه خود را ایجاد کردید:
شما دو گزینه دارید، یکی آسان و دیگری دشوار:
# La fácil
git restore src/main.tsx
# La difícil
git checkout -- src/main.tsx
من میرم با restore
:
حالا فایل ما دوباره تمیز است! هورا!
اکنون، رئیس یا رهبر تیم شما تصمیم می گیرد که روز خوبی برای تغییر اولویت ها است (زیرا این موضوع آنهاست). فرض کنید در حال ایجاد یک صفحه جدید به نام هستید MyCoolPage.tsx
:
حالا شما باید تصمیم بگیرید: آیا باید commit ها را commit و سپس rebase کنم، مواردی را که می خواهم انتخاب کنم و آن را تمیز کنم؟
بعداً فقط برای آن تغییر زمان زیادی را تلف خواهم کرد، چه کاری می توانم انجام دهم؟
نکته 3: آن را ذخیره کن، برادر
در این مورد مراقب باشید! این مثال خاص شامل ایجاد یک فایل جدید است که در مخزن شما وجود ندارد، بنابراین باید از موارد زیر استفاده کنید:
git stash --include-untracked
# O la bandera más corta
git stash -u
اکنون، می بینید که فایل دیگر در اختیار ما نیست:
اما اگر بنویسید:
git stash list
هنوز اینجاست:
نام انبار است stash@{0}
.
اکنون چندین گزینه داریم:
# Podemos extraer el stash y eliminarlo de la lista con un simple
git stash pop
# O aplicarlo y dejarlo en la lista para que podamos acceder a él más tarde con
git stash apply stash@{número de tu stash}
من میرم با pop
، و می توانید ببینید که بازگشته است:
وقتی سعی میکنم استفاده کنم git stash list
، چیزی را نشان نمی دهد زیرا در نهایت از لیست استخراج شد:
شما در حال کار بر روی شاخه دیگری برای یک ویژگی به نام هستید feature/myCoolFeature
، که سه الزام دارد. شما قبلاً دو مورد از آنها را تکمیل کرده اید، بنابراین دو commit در آن شاخه دارید.
حالا رئیستان به شما می گوید: هی، ما نیاز داریم CoolFeature
که شما از شعبه خود مستقر کردید، اما فقط اولین، و ما اکنون به آن نیاز داریم!
شما می توانید یک شاخه از شاخه فعلی ایجاد کنید، commit HEAD را حذف کرده و آن را در آن ادغام کنید main
، اما برای چنین کار ساده ای خیلی زیاد است.
اوه مرد، من برای این به زمان نیاز دارم و آنها اکنون به آن نیاز دارند، آیا راه سریع تری وجود دارد؟
نکته 4: از Cherry-Pick برای دریافت این تعهد استفاده کنید
و یک تو راما main
باهم git checkout main
و گزارش شعبه دیگر را با:
git log feature/myCoolFeature
سپس، commit خاص را انتخاب کنید:
git cherry-pick 714cf87
و لینوس توروالدز (خلق Git و Linux) دوباره روز را نجات می دهد! و اگر استفاده می کنید git log
، می توانید ببینید که تغییرات شما وجود دارد:
فرض کنید یک ویژگی جدید ایجاد کرده اید:
شما اضافه کنید و درست کنید
متعهد شوید، اما نظر خود را تغییر می دهید و تصمیم به حذف آن می گیرید، بنابراین به جستجو در گوگل ادامه می دهید cómo eliminar un commit
. شما که با a git reset --hard HEAD~1
، شما اقدام به استفاده از آن می کنید.
شما خوب هستید تا زمانی که متوجه شوید می خواهید دوباره از برخی کدها استفاده کنید، اما اکنون که از آن استفاده می کنید git log
، نمی توانید آن را پیدا کنید. شما فکر می کنید:
او برای همیشه رفته است، حالا من زمان را تلف می کنم …
نکته شماره 5: اگر نمی توانید آن را در آن پیدا کنید git log
، وقت آن است که reflog
فقط جادوی این دستور را بررسی کنید:
git reflog
اکنون هش برای بازگردانی commit خود دارید:
یک پایان خوش دیگر!
تبریک میگوییم، شما کتابچه راهنمای بقای Git خود را تأیید کردهاید! 🎉 درست مانند کتاب راهنمای بقای مدرسه Ned 📚، اکنون مجموعه خوبی از ابزارها برای پیمایش در راهروهای پیچیده کنترل نسخه دارید. از زمان استفاده git checkout
برای رفع این اشکالات تصادفی، صرفه جویی در تغییرات غیرمتعهد مانند یک حرفه ای، cherry-pick زمانی که فشار زیاد است انجام می شود، حتی کار از دست رفته را نجات دهید git reflog
، شما آماده هستید تا با اطمینان خاطر هر چالش Git را انجام دهید. بنابراین، این نکات را عملی کنید و پروژه های خود را به خوبی اجرا کنید.
با تشکر ویژه از Midu بدون کتاب Git او، من نمی توانستم این مقاله را انجام دهم. 🙏💻✨
با تشکر برای خواندن!
برادر، نظرات یا پیشنهادات خود را در مورد Git در نظرات زیر به من بگویید 👇