التعليق 1

2 دقيقة

https://medium.com/mindorks/understanding-git-merge-git-rebase-88e2afd42671

git

تعليق 1

في Git، تُدار سجلات الإيداعات بشكل مختلف عبر الأمرين git rebase و git merge، وهذا يؤثّر على كيفية ظهور الإيداعات في السجل.

  1. git merge:

    • عندما تستخدم git merge، يجمع Git الفرعين مع الاحتفاظ بسجل كليهما، بإنشاء إيداع دمج خاص. يعني ذلك أن كل إيداعات الفرعين ظاهرة في السجل.
    • المزية: يبقى السجل كاملاً ويسهل رؤية أين ومتى تفرّعت الفروع ودُمجت بالضبط. لكن قد يجعل ذلك السجل أعقد أحياناً، خاصة إن كان لديك كثير من الإيداعات الوسيطة.
  2. git rebase:

    • مع git rebase، تُعاد «تطبيق» إيداعات الفرع الحالي على الفرع المستهدف، مما ينشئ إيداعات جديدة تطابق القديمة لكن بتجزئات جديدة (معرّفات الإيداع). يعيد ذلك كتابة السجل ليعطي انطباعاً بأن الإيداعات أُجريت مباشرة على الفرع المستهدف.
    • المزية: السجل خطّي وأسهل قراءة، لأنه يبدو أن كل شيء طُوّر بالتسلسل بلا دمج منفصل. لكن الإيداعات القديمة تُعاد كتابتها، ولا يُحفظ سجل الإيداعات الأصلية بالطريقة نفسها.

الملخص:

  • git merge: يحفظ السجل الكامل لإيداعات الفرعين، بما في ذلك نقاط التفرّع والدمج.
  • git rebase: يعيد كتابة السجل بإزالة إيداعات التفرّع، وينشئ سجلاً خطّياً بلا أثر صريح للحظة تفرّع الفروع.

تعليق 2

من المهم حقاً فهم الفروقات الأساسية بين Git merge و Git rebase إن أردت أن تكون مدير تحكم في الإصدار ممتازاً! Git merge مثالي للاحتفاظ بسجل الفرعين والتأكد من أن كل شيء بأمان. أما Git rebase فمثالي للحصول على سجل إيداعات نظيف وخطّي. لكن كما في كل شيء، هناك نقاط يجب مراقبتها، خاصة عند العمل على فروع عامة. اتّباع القاعدة الذهبية لإعادة الأساس يساعدك على تجنّب تعارضات شائكة لاحقاً. 📌 عندما تقرّر أيهما تستخدم، فكّر فقط في طريقة عمل فريقك وفي مستوى الرؤية الذي تريد إعطاءه لفروعك!