https://medium.com/mindorks/understanding-git-merge-git-rebase-88e2afd42671
في Git، تُدار سجلات الإيداعات بشكل مختلف عبر الأمرين git rebase و git merge، وهذا يؤثّر على كيفية ظهور الإيداعات في السجل.
git merge:
git merge، يجمع Git الفرعين مع الاحتفاظ بسجل كليهما، بإنشاء إيداع دمج خاص. يعني ذلك أن كل إيداعات الفرعين ظاهرة في السجل.git rebase:
git rebase، تُعاد «تطبيق» إيداعات الفرع الحالي على الفرع المستهدف، مما ينشئ إيداعات جديدة تطابق القديمة لكن بتجزئات جديدة (معرّفات الإيداع). يعيد ذلك كتابة السجل ليعطي انطباعاً بأن الإيداعات أُجريت مباشرة على الفرع المستهدف.git merge: يحفظ السجل الكامل لإيداعات الفرعين، بما في ذلك نقاط التفرّع والدمج.git rebase: يعيد كتابة السجل بإزالة إيداعات التفرّع، وينشئ سجلاً خطّياً بلا أثر صريح للحظة تفرّع الفروع.من المهم حقاً فهم الفروقات الأساسية بين Git merge و Git rebase إن أردت أن تكون مدير تحكم في الإصدار ممتازاً! Git merge مثالي للاحتفاظ بسجل الفرعين والتأكد من أن كل شيء بأمان. أما Git rebase فمثالي للحصول على سجل إيداعات نظيف وخطّي. لكن كما في كل شيء، هناك نقاط يجب مراقبتها، خاصة عند العمل على فروع عامة. اتّباع القاعدة الذهبية لإعادة الأساس يساعدك على تجنّب تعارضات شائكة لاحقاً. 📌 عندما تقرّر أيهما تستخدم، فكّر فقط في طريقة عمل فريقك وفي مستوى الرؤية الذي تريد إعطاءه لفروعك!