Newzzly - Tech News
الرجوع للصفحة الرئيسية|أخبار١٥ أبريل ٢٠٢٦

GitHub تطلق ميزة Stacked PRs رسمياً: تحول جذري في أسلوب مراجعة الأكواد البرمجية

أعلنت GitHub عن إطلاق ميزة Stacked PRs الأصلية، والتي تسمح للمطورين بتقسيم التغييرات الكبيرة إلى سلسلة من طلبات السحب المرتبطة، مما يسهل عملية المراجعة والدمج بضغطة زر واحدة.

GitHub تطلق ميزة Stacked PRs رسمياً: تحول جذري في أسلوب مراجعة الأكواد البرمجية

النقاط الرئيسية

  • إطلاق ميزة Stacked PRs رسمياً لتقسيم التغييرات الكبيرة إلى طبقات صغيرة سهلة المراجعة.
  • إمكانية دمج سلسلة كاملة من طلبات السحب بضغطة زر واحدة بعد الموافقة عليها.
  • تكامل عميق مع واجهة السطر البرمجي (CLI) عبر الأمر الجديد gh stack.
  • مزامنة تلقائية للفروع (Rebase) عند حدوث تغييرات في أي جزء من السلسلة.
  • تحسين تجربة المراجعين وتقليل 'إرهاق المراجعة' عبر التركيز على التغييرات الذرية.
  • توفير رؤية بصرية في واجهة الويب لتوضيح مكان كل طلب سحب ضمن السلسلة.

في خطوة طال انتظارها من قبل مجتمع المطورين حول العالم، أعلنت منصة GitHub التابعة لشركة Microsoft عن إطلاق ميزة Stacked PRs بشكل أصلي ودمجها مباشرة في بيئة العمل الخاصة بها. هذا التحديث، الذي تم الكشف عنه في أبريل 2026، يمثل استجابة مباشرة لواحدة من أكبر التحديات التي تواجه الفرق البرمجية الكبيرة: وهي كيفية إدارة مراجعات الأكواد المعقدة التي تتطلب تغييرات واسعة النطاق دون التسبب في تعطيل سير العمل أو إرهاق المراجعين. تعتمد فكرة Stacked PRs على مفهوم بسيط ولكنه قوي، وهو تقسيم التغيير البرمجي الكبير إلى طبقات أو 'سلسلة' من طلبات السحب (Pull Requests) المرتبطة ببعضها البعض. بدلاً من إرسال طلب سحب واحد يحتوي على آلاف الأسطر من الكود، يمكن للمطور الآن إرسال سلسلة من الطلبات، حيث يعتمد كل طلب على الذي قبله. على سبيل المثال، يمكن أن يكون الطلب الأول خاصاً بتعديل قاعدة البيانات، والثاني لإضافة واجهة برمجة التطبيقات (API)، والثالث لتحديث واجهة المستخدم (UI). هذا الأسلوب يسمح للمراجعين بالتركيز على كل جزء بشكل مستقل، مما يزيد من دقة المراجعة وسرعتها. الميزة الأبرز في هذا التحديث هي القدرة على دمج السلسلة بالكامل بضغطة زر واحدة. في السابق، كان على المطورين استخدام أدوات خارجية مثل Graphite أو Sapling ، أو القيام بعمليات Rebase يدوية معقدة لضمان تحديث كل فرع (Branch) بناءً على التغييرات في الفرع السابق. مع ميزة GitHub الجديدة، يتم التعامل مع هذه التبعيات تلقائياً. إذا تم تحديث الطلب الأول في السلسلة، تقوم GitHub تلقائياً بتحديث الطلبات اللاحقة لضمان عدم وجود تعارضات، مما يوفر ساعات من العمل اليدوي المرهق. من الناحية التقنية، تدمج GitHub هذه الميزة عبر أداة CLI الخاصة بها من خلال الأمر gh stack. هذا التوجه يعكس رغبة الشركة في تحسين تجربة المطورين الذين يفضلون العمل عبر واجهة السطر البرمجي. يتيح الأمر gh stack للمطورين إنشاء سلسلة من الالتزامات (Commits) وتحويلها فوراً إلى Stacked PRs منظمة. كما توفر واجهة الويب في GitHub الآن رؤية بصرية واضحة لهذه السلاسل، حيث يظهر للمراجع مكان الطلب الحالي ضمن السلسلة الكاملة، وما هي الطلبات التي تسبقه أو تلحقه. لماذا يعتبر هذا الأمر مهماً؟ في بيئات التطوير الحديثة، أصبحت 'مراجعة الأكواد' (Code Review) هي عنق الزجاجة الرئيسي. عندما يتلقى المراجع طلب سحب ضخم، فإنه غالباً ما يصاب بما يسمى 'إرهاق المراجعة'، مما يؤدي إما إلى تأخير المراجعة لعدة أيام أو الموافقة عليها دون تدقيق كافٍ. ميزة Stacked PRs تحل هذه المشكلة جذرياً عبر تشجيع 'التغييرات الذرية' (Atomic Changes). من خلال تقديم تغييرات صغيرة ومركزة، يمكن للمراجعين تقديم ملاحظات أكثر دقة، ويمكن للمطورين معالجة هذه الملاحظات دون الخوف من انهيار الهيكل الكامل للتعديلات. تاريخياً، كانت شركات التكنولوجيا الكبرى مثل Google و Meta تستخدم أنظمة داخلية تعتمد على Stacked Diffs لسنوات. في Meta ، يستخدم المطورون أداة Sapling التي تعتمد كلياً على هذا المفهوم. أما في Google ، فإن نظام Critique يعمل بطريقة مشابهة. GitHub ، بكونها المنصة الأكثر شعبية للمشاريع مفتوحة المصدر والشركات الناشئة، كانت تفتقر إلى هذا الأسلوب بشكل أصلي، مما دفع المطورين لابتكار حلول بديلة. اليوم، ومع وصول هذه الميزة رسمياً، أصبح بإمكان أي فريق برمجي، بغض النظر عن حجمه، اعتماد أفضل الممارسات التي كانت حكراً على عمالقة التكنولوجيا. علاوة على ذلك، تعالج ميزة Stacked PRs مشكلة 'تحديث الفروع' (Branch Syncing). في سير العمل التقليدي، إذا قمت بتعديل الكود في الفرع الأول، يجب عليك يدوياً إجراء Rebase لكل الفروع اللاحقة. GitHub الآن تتولى هذه المهمة عبر خوارزميات ذكية تضمن مزامنة السلسلة بالكامل. هذا لا يحسن الإنتاجية فحسب، بل يقلل أيضاً من احتمالية حدوث أخطاء بشرية أثناء عمليات الدمج المعقدة. في الختام، يمثل إطلاق Stacked PRs في GitHub فصلاً جديداً في تطور أدوات التعاون البرمجي. إنها ليست مجرد أداة تقنية، بل هي تغيير في الثقافة البرمجية نحو تقسيم المشكلات الكبيرة إلى أجزاء صغيرة قابلة للإدارة. مع استمرار تطور البرمجيات وزيادة تعقيد الأنظمة، ستصبح أدوات مثل Stacked PRs ضرورة لا غنى عنها لكل مطور يسعى للتميز والكفاءة في عمله.

فلسفة الـ Stacking والتحول عن الـ Monolithic PRs

تعتبر ميزة Stacked PRs حلاً جذرياً لمشكلة 'طلبات السحب الضخمة' التي تعاني منها الفرق البرمجية. في النظام التقليدي، يضطر المطور لانتظار مراجعة طلب سحب واحد قبل البدء في الذي يليه، أو إرسال طلب واحد عملاق يصعب مراجعته. مع النظام الجديد، يمكن للمطور إرسال سلسلة من التعديلات المترابطة، حيث يمثل كل تعديل خطوة منطقية واحدة. هذا الأسلوب مستوحى من بيئات العمل في شركات مثل Google و Meta، ويهدف إلى جعل عملية المراجعة أكثر دقة وسرعة. من خلال تقسيم العمل إلى 'طبقات'، يمكن للمراجعين تقديم ملاحظات على الأجزاء الأساسية (مثل البنية التحتية) بينما يستمر المطور في بناء الطبقات العليا (مثل واجهة المستخدم). هذا يقلل من وقت الانتظار ويضمن أن كل جزء من الكود يحظى بالاهتمام الكافي، مما يرفع الجودة الإجمالية للمنتج البرمجي ويقلل من احتمالية تسلل الأخطاء البرمجية إلى النسخة النهائية.

التكامل التقني والأتمتة في GitHub CLI

قوة هذه الميزة تكمن في أتمتة العمليات اليدوية المرهقة. عبر استخدام GitHub CLI، وتحديداً الأمر gh stack، يستطيع المطورون إدارة دورة حياة السلسلة بالكامل من أجهزتهم المحلية. النظام يقوم بتتبع الروابط بين الالتزامات (Commits) وفروعها المقابلة على خوادم GitHub. عند إجراء أي تعديل أو Rebase في منتصف السلسلة، تتولى GitHub ذكياً تحديث كافة الطلبات اللاحقة لضمان توافقها. هذا المستوى من الأتمتة ينهي حقبة 'صراع الدمج' (Merge Conflicts) الناتجة عن التبعيات الداخلية. كما أن واجهة الويب توفر الآن سياقاً كاملاً للمراجعين، حيث يمكنهم رؤية السلسلة كاملة والتنقل بين أجزائها بسهولة، مما يجعل عملية الفهم والموافقة أسرع بكثير من ذي قبل. هذا التكامل بين الأدوات البرمجية وواجهة المستخدم يضع GitHub في صدارة منصات التطوير الحديثة.

صيغ هذا المقال بمساعدة الذكاء الاصطناعي وروجِع تحريريًا قبل النشر. المصادر مذكورة أدناه.

عبدالله الجاسر

عن الكاتب

عبدالله الجاسر

المؤسس

مهندس صناعي | مؤسس منصة نيوزلي | شغوف بالتقنية والذكاء الاصطناعي