❓ چطور میتوانیم با استفاده از git cherry-pick یک کامیت خاص از یک شاخه به شاخه دیگر منتقل کنیم؟
برای انتقال یک کامیت خاص با git cherry-pick، ابتدا به شاخهای که میخواهید کامیت را به آن اضافه کنید بروید. سپس با استفاده از دستور `git cherry-pick <commit_hash>`، کامیت مورد نظر را از شاخه دیگر انتخاب کنید. این کار باعث میشود تغییرات موجود در آن کامیت به شاخه فعلی اضافه شود بدون اینکه تاریخچه سایر کامیتها تحت تاثیر قرار بگیرد.
دسته: git
❓ چطور میتونیم با استفاده از Git، یه برنچ موقت برای آزمایش یک ویژگی جدید بسازیم و بعد از اینکه نتیجهی آزمایش معلوم شد، اون رو حذف کنیم؟
برای ایجاد یک برنچ موقت میتونید از دستور `git checkout -b branch-name` استفاده کنید که یک برنچ جدید بر اساس برنچ فعلی میسازه. بعد از تست ویژگی جدید، میتونید با `git checkout main` به برنچ اصلی برگردید و با دستور `git branch -d branch-name` برنچ موقت رو حذف کنید. اینطوری پروسهتون مرتب و سازماندهیشده میمونه.
دسته: git
❓ در گیت، وقتی یک شاخه (branch) رو به یک شاخه دیگه با دستور merge ترکیب میکنی، چطوری میتونی از بروز تضاد (conflict) جلوگیری کنی؟
برای جلوگیری از بروز تضاد هنگام ترکیب دو شاخه، بهتره که قبل از merge، همیشه شاخهای که میخوای بهش merge کنی رو بهروز کنی. همچنین میتونی از دستور rebase استفاده کنی تا تغییرات شاخهی جدیدت رو روی تغییرات آخرین نسخهی شاخهی مقصد قرار بدی. این کار کمک میکنه که تضادها کمتر پیش بیان.
دسته: git
❓ چطور میتونیم تغییرات یک شاخه رو در Git با شاخهی دیگهای با استفاده از rebase ادغام کنیم و در عین حال تاریخچهی کامیتها رو حفظ کنیم؟
برای ادغام تغییرات یک شاخه با استفاده از rebase، ابتدا باید به شاخهای که میخواهیم تغییرات رو به اون اضافه کنیم (مثلاً master) سوئیچ کنیم. سپس از دستور `git rebase <branch>` استفاده میکنیم. این کار باعث میشه تغییرات شاخهی مورد نظر به تاریخچهی شاخهی فعلی اضافه بشه و در نهایت تاریخچهی کامیتها مرتب و خطی باقی بمونه.
دسته: git
❓ چطور میتونم اختلافات بین دو برنچ رو به صورت جزیی ببینم و فقط فایلهایی که تغییر کرده رو نشون بدم؟
برای دیدن اختلافات بین دو برنچ میتونی از دستور `git diff branch1..branch2 --name-only` استفاده کنی. این دستور فقط نام فایلهایی که تغییر کردن رو نشون میده. اگر بخوای جزییات تغییرات رو هم ببینی، میتونی از `git diff branch1..branch2` استفاده کنی تا محتوای تغییرات رو ببینی.
دسته: git