بانک سوالات پروژه‌ی 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 merge و git rebase چیه و کدوما رو کی استفاده کنیم؟

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

دسته: git

❓ چطور می‌تونم تغییرات یک فایل رو در یک branch خاص ببینم قبل از اینکه به branch دیگه‌ای برم؟

برای دیدن تغییرات یک فایل در یک branch خاص، می‌تونی از دستور `git diff <branch_name> -- <file_path>` استفاده کنی. این دستور تغییرات بین فایل در branch فعلی و branch مورد نظر رو نشون می‌ده و بهت کمک می‌کنه تا قبل از تغییر branch، ایده‌ی بهتری از وضعیت اون فایل داشته باشی.

دسته: git

❓ چرا هنگام merge کردن دو branch ممکنه با conflict مواجه بشم؟

زمانی که دو branch تغییرات مختلفی رو روی یک فایل یا بخش مشترک انجام دادن، هنگام merge کردن این دو branch، Git نمی‌دونه کدوم تغییر رو باید نگه‌داره و به همین دلیل با conflict مواجه می‌شه. برای حل این مشکل باید به صورت دستی تغییرات رو بررسی و ادغام کنی.

دسته: git

❓ چطوری می‌تونم به یک commit خاص برگردم بدون اینکه تاریخچه‌ی commit های بعدی رو از دست بدم؟

برای برگشت به یک commit خاص بدون از دست دادن تاریخچه‌ی commit های بعدی، می‌تونی از دستور `git revert <commit_hash>` استفاده کنی. این دستور یک commit جدید ایجاد می‌کنه که تغییرات commit مورد نظر رو برعکس می‌کنه، در نتیجه تاریخچه‌ی پروژه حفظ می‌شه.

دسته: git

❓ چگونه می‌توانیم تاریخچه تغییرات یک فایل خاص رو با استفاده از git blame مشاهده کنیم؟

برای مشاهده تاریخچه تغییرات یک فایل خاص، می‌تونی از دستور `git blame filename` استفاده کنی. این دستور نشون می‌ده که هر خط از فایل توسط چه کسی و در چه تاریخی تغییر کرده. این اطلاعات به شناسایی اینکه کدهای خاص مسئولیت چه کسی هستند، کمک می‌کنه.

دسته: git