بانک سوالات پروژه‌ی ask-interview

همه پرسش‌ها (592) Grafana (28) Jaeger (25) LXD (28) OpenTelemetry (24) Prometheus (24) ansible (27) apache (28) bash (18) ccna (27) centos (24) ceph (25) devops (29) docker (30) freebsd (27) git (28) kubernetes (24) linux (31) lpic1 (30) lpic2 (27) nginx (16) ubuntu (45) windows-server (27)

🗂 پرسش‌ها در دسته: git

❓ چگونه می‌تونم تاریخچه‌ی کامیت‌ها رو جوری تغییر بدم که فقط کامیت‌های خاصی به تاریخچه‌ی نهایی اضافه بشن؟

برای تغییر تاریخچه کامیت‌ها، می‌تونی از دستور `git rebase -i HEAD~n` استفاده کنی که در اون n تعداد کامیت‌هایی هست که می‌خوای تغییر بدی. در ویرایشگر، کامیت‌های موردنظرت رو با `pick` نگه‌دار و بقیه رو با `drop` حذف کن. بعد از ذخیره، تاریخچه‌ی جدید شکل می‌گیره.

دسته: git

❓ چطوری می‌تونم به راحتی یک برنچ جدید از برنچ اصلی بسازم و اون رو به یک ریموت مشخص بزنم؟

برای ساختن یک برنچ جدید از برنچ اصلی، اول با دستور `git checkout -b new-branch` به برنچ جدید سوئیچ کن. سپس با دستور `git push -u origin new-branch` این برنچ رو به ریموتی که مشخص کردی بزن. با استفاده از `-u`، برنچ محلی به برنچ ریموت متصل می‌شه.

دسته: git

❓ چطور می‌تونم تغییرات محلی‌ام رو به یک شاخه جدید منتقل کنم بدون اینکه commit کنم؟

برای انتقال تغییرات محلی به یک شاخه جدید بدون commit، می‌تونی از 'git stash' استفاده کنی. اول 'git stash' رو اجرا کن تا تغییراتت ذخیره بشه، بعد به شاخه جدید بریزی و در آخر با 'git stash pop' تغییرات رو بازیابی کنی. اینطوری می‌تونی تغییراتتو در یک شاخه جدید داشته باشی.

دسته: git

❓ چطور می‌تونم یک commit رو از تاریخچه‌ام پاک کنم بدون اینکه تاریخچه خراب بشه؟

برای پاک کردن یک commit از تاریخچه بدون خراب شدنش، می‌تونی از 'git rebase -i HEAD~n' استفاده کنی، جایی که n تعداد commits مورد نظرت برای تغییر هست. سپس در ویرایشگر، 'drop' رو کنار commit مورد نظرت قرار بده و ذخیره کن. این کار باعث می‌شه commit مورد نظر حذف بشه و بقیه تاریخچه به درستی حفظ بشه.

دسته: git

❓ تفاوت بین 'git merge' و 'git rebase' چیه و هر کدوم چه زمانی کاربرد داره؟

'git merge' و 'git rebase' دو تا روش برای ترکیب تغییرات دو شاخه هستن. 'git merge' تغییرات رو ترکیب می‌کنه و یک commit جدید می‌سازه، در حالی که 'git rebase' تغییرات رو یه جا جمع می‌کنه و تاریخچه رو خطی می‌کنه. 'merge' برای حفظ تاریخچه کامل مفیده، ولی 'rebase' به زیبایی تاریخچه کمک می‌کنه.

دسته: git