0Pricing
Git & GitHub Professional Workflow · درس

إعادة الأساس مقابل الدمج

قارن بين إعادة الأساس والدمج، وتعلّم متى تستخدم كلًا منهما للحفاظ على سجل نظيف وخطي

إعادة الأساس مقابل الدمج درس مجاني في Git & GitHub Professional Workflow على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Git & GitHub Professional Workflow، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.

الدمج أم إعادة الأساس؟ اختياركم

عند العمل باستخدام Git، قد تجدون غالبًا أن فرعكم قد تباعد عن فرع آخر، مثل تباعد فرع feature عن main.

كيف تجمعون هذه التغييرات؟ يوفر Git استراتيجيتين أساسيتين: الدمج وإعادة الأساس. تحقق كلتاهما التكامل، لكنهما تفعلان ذلك بطرائق مختلفة جذريًا، مما يؤدي إلى سجلات مختلفة للمشروع.

الدمج: جمع السجلات

يُعد الدمج الطريقة الافتراضية في Git لدمج التغييرات. عند دمج فرع في آخر، يأخذ Git محتوى الفرع المصدر ويجمعه مع الفرع الهدف.

السمة الأساسية للدمج هي أنه ينشئ commit دمج جديدًا. ويكون لهذا الـcommit اثنان من commits الأصلية، موضحًا بجلاء جمع سجلين متباعدين. كما أنه يحافظ على السجل الكامل لكل فرع.

تنفيذ دمج باستخدام Git

لنرَ عملية دمج بسيطة. سننشئ فرع feature، ونضيف commit، ثم ندمجه مجددًا في main.

git init my_merge_project
cd my_merge_project
echo "Initial content" > file.txt
git add .
git commit -m "Initial commit"

git branch feature
git checkout feature
echo "Feature A" >> feature.txt
git add .
git commit -m "Add feature A"

git checkout main
echo "Main update" >> main.txt
git add .
git commit -m "Update main"

git merge feature

git log --oneline --graph

الدمج: المزايا والعيوب

الدمج مباشر وآمن للفروع المشتركة، لكنه قد يؤدي إلى سجل «فوضوي».

  • المزايا:
  • يحافظ على السجل الدقيق للـcommits.
  • غير هدّام، ولا يعيد كتابة الـcommits الموجودة.
  • سهل الاستخدام والفهم.
  • العيوب:
  • قد ينشئ سجلًا «مليئًا بالضوضاء» بسبب كثرة commits الدمج.
  • قد يبدو المخطط معقدًا مع اندماج فروع كثيرة.

إعادة الأساس: إعادة كتابة السجل

تُعد إعادة الأساس بديلًا للدمج، إذ تدمج التغييرات عبر نقل سلسلة من الـcommits أو جمعها إلى commit أساس جديد. وبدلًا من إنشاء commit دمج، تعيد كتابة سجل المشروع.

بعبارة أساسية، يُعاد تشغيل commits فرع الميزة فوق أحدث commit في الفرع الهدف، مما يجعل الأمر يبدو كما لو أنكم بدأتم العمل من هناك. وينشئ ذلك سجلًا خطيًا من دون commits دمج إضافية.

تنفيذ إعادة أساس باستخدام Git

والآن، لنجرب السيناريو نفسه باستخدام إعادة الأساس. سنعيد تأسيس فرع feature على main.

لاحظوا كيف يُعاد تطبيق commit فرع feature فوق أحدث commit في main، ثم يجعل الدمج بالتقديم السريع main يشير إليه.

git init my_rebase_project
cd my_rebase_project
echo "Initial content" > file.txt
git add .
git commit -m "Initial commit"

git branch feature
git checkout feature
echo "Feature B" >> feature.txt
git add .
git commit -m "Add feature B"

git checkout main
echo "Main update 2" >> main.txt
git add .
git commit -m "Update main 2"

git checkout feature
git rebase main

git checkout main
git merge feature

git log --oneline --graph

إعادة الأساس: المزايا والعيوب

تنشئ إعادة الأساس سجلًا نظيفًا، لكنها تأتي مع تحذير مهم يتعلق بالفروع المشتركة.

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

الدمج مقابل إعادة الأساس: مقارنة

إليكم ملخصًا سريعًا للاختلافات الأساسية:

  • الدمج:
  • ينشئ commit دمج جديدًا.
  • يحافظ على السجل الكامل والدقيق.
  • غير هدّام.
  • قد يكون المخطط معقدًا.
  • إعادة الأساس:
  • تعيد كتابة السجل من دون commit دمج.
  • تنتج سجلًا خطيًا.
  • هدّامة (تغيّر معرّفات الـcommits).
  • يكون المخطط نظيفًا جدًا.

اختيار استراتيجيتكم

إذًا، متى تستخدمون كل واحدة منهما؟

  • استخدموا الدمج عندما:
  • تعملون على فروع عامة أو مشتركة (مثل main وdevelop).
  • تحتاجون إلى الحفاظ على السجل الدقيق لمشروعكم.
  • تريدون إظهار وقت جمع السجلات المتباعدة بوضوح.
  • استخدموا إعادة الأساس عندما:
  • تعملون على فرع ميزتكم الخاص قبل دفعه.
  • تريدون سجلًا نظيفًا وخطيًا.
  • تريدون ترتيب commits فرع ميزتكم وتنظيمها (مثل دمجها أو إعادة ترتيبها) قبل التكامل.

القاعدة الذهبية: لا تعيدوا أبدًا تأسيس commits سبق دفعها إلى مستودع بعيد مشترك! قد تتسبب إعادة تأسيس سجل مشترك في مشكلات كبيرة للمتعاونين.

اختبار سريع: الدمج أم إعادة الأساس؟

تأملوا خصائص استراتيجيتي Git الأساسيتين لدمج التغييرات.

مراجعة: الدمج مقابل إعادة الأساس

استكشفنا في هذا الدرس طريقتي Git الأساسيتين لدمج التغييرات: الدمج وإعادة الأساس.

  • يجمع الدمج السجلات باستخدام commit دمج جديد، مع الحفاظ على جميع الـcommits الأصلية.
  • تعيد إعادة الأساس كتابة السجل، فتنشئ تدفقًا خطيًا عبر نقل الـcommits.

اختاروا بحكمة وفقًا لسير عمل فريقكم، وتذكروا القاعدة الذهبية: لا تعيدوا أبدًا تأسيس سجل عام! فهذا الفهم ضروري للحفاظ على سير عمل Git نظيف وتعاوني.

الأسئلة الشائعة

هل درس «إعادة الأساس مقابل الدمج» مجاني؟

نعم — نص درس «إعادة الأساس مقابل الدمج» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Git & GitHub Professional Workflow، انتقل إلى CoddyKit PRO. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.

ماذا ستتعلم في «إعادة الأساس مقابل الدمج»؟

قارن بين إعادة الأساس والدمج، وتعلّم متى تستخدم كلًا منهما للحفاظ على سجل نظيف وخطي تتمرن على Git & GitHub Professional Workflow مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Git & GitHub Professional Workflow؟

لا تُشترط خبرة سابقة. Git & GitHub Professional Workflow على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إعادة الأساس مقابل الدمج»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Git & GitHub Professional Workflow هذا؟

نعم. كل درس في Git & GitHub Professional Workflow يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. سير عمل فروع الميزات
  2. مقدمة إلى سير عمل Gitflow
  3. إعادة الأساس مقابل الدمج
  4. التطوير القائم على الفرع الرئيسي
← العودة إلى Git & GitHub Professional Workflow