TGViewer
Random shi- tutorials Random shi- tutorials @rs_tutorial · 218 subscribers
Post #733 125

Forwarded from The Machine

.NET Internals چیکار کنیم وقتی به اشتباه تو برنچ main پوش میکنیم؟! دیروز داشتم کد میزدم و پوش میکردم یهو دیدم که دارم توی برنچ main پوش میکنم!!! داشتیم pair-programming میکردیم و اصلا حواسم نبود ولی خوب همیشه یه راهی باید باشه، نه؟ باید این مراحل رو انجام بدیم: 1- پیدا…
چطوری مسیج کامیت‌های گذشته رو عوض کنیم؟

یه چالش دیگه هم که اخیرا درموردش سرچ کردم و توی کار بهش برخوردیم این بود که بریم commit message های چند کامیت قبلی رو تغییر بدیم، کامیت آخر که راحت ترین راه براش کامند معروف زیر هست:

git command --ammend

ولی برای مثلا تغییر دادن پیام کامیت دهم بهترین روش این هست:

Interactive Git Rebasing

با استفاده از کامند:

git rebase -i Head~N

N تعداد کامیت هست
که از آخرین کامیت تا جایی که می‌خواین برین عقب میشه.

وقتی که یه interactive rebase انجام می‌دیم پشت صحنه گیت یه فایل تو دو لیست داخل ادیتور باز می‌کنه و کامیت‌ها رو از از قدیمی ترین به جدیدترین ( بالا به پایین) نمایش می‌ده و می‌تونیم انتخاب کنیم که مرحله بعدی برای کامیت چه کاری می‌خوایم انجام بدیم:

Pick: استفاده از کامیت به همون شکل فعلی

Reword: استفاده از کامیت ولی با ویرایش پیام

Edit: استفاده از کامیت اما با یه وقفه برای تغییر محتوا یا پیام

Squash: مرج کردن این کامیت با کامیت قبلی و با ترکیب کردن پیام اون ها

Fixup: مرج کامیت فعلی با کامیت قبلی بدون نگه داشتن پیام

Drop: حذف کامل کامیت

حالا که فهمیدیم چه آپشن‌هایی داریم برگردیم سر سناریوی خودمون، وقتی که ادیتور باز شد اون کامیتی که می‌خوایم رو پیدا می‌کنیم و دستور کنارش رو از pick به reword تغییر می‌دیم بعد فایل رو می‌بندیم وقتی فایل بسته میشه گیت برای اون کامیتی که reword داره یه ادیتور باز می‌کنه تا پیام رو ادیت کنیم.
و بعد هم rebase انجام میشه.


نکات قابل ملاحظه در کار تیمی:

قطعا این کار هیستوری رو عوض می‌کنه و اگه این ربپوی مشترک باشه باید از دستور

git push --force

استفاده کنید که خب بقیه تیم هم باید rebase کنن یا کانفلیکت های احتمالی رو حل کنن که به نظرم به دردسرش نمی‌ارزه.

و اینکه گیت یه قابلیت داره که میشه نوت اضافه کرد و ضمیمه کامیت کرد اگه خیلی توضیح ضروری‌ای باشه که جا افتاده.

git notes add -m "message" <commit hash>

و در نهایت اگه ریپوی لوکال باشه بهتره که این راه رو بریم.
#git
More from @rs_tutorial
  1. Oct 15, 2026یسری ابزارها مثل jev, n8n و امثالهم اومدن و یه مدت بولد شدن و بعد رفتن پی کارشون ولی اصول…
  2. Oct 15, 2026چیزهایی که نباید در مصاحبه فنی بگیم در طول مصاحبه فرصت زیادی برای صحبت داریم؛ چه زمانی که…
  3. Oct 14, 2026این سایتو ممد فرستاده می‌گه باهاش می‌تونید دو روزه به صورت تصویری عملی گیت رو یاد بگیرید (…
  4. Oct 11, 2026Web-servers Dns Fastapi Python for data engineers Python for devops engineers Sql-deep Dat…
  5. Oct 11, 2026۳۶۸ سندباکس تا الان که هرکدوم چندین مرحله دارن عملا ۳۶۸ سناریو هستن که بین رودمپ ها به ترت…
  6. Oct 10, 2026مایکروسافت به‌تازگی یه پروژه سیستم‌عامل مبتنی بر زبان برنامه‌نویسی Rust منتشر کرده که برای…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →