هذا الأسبوع، قمت بتعميق فهمي لـ Git، وخاصة العمل مع أجهزة التحكم عن بعد في Git. كشرط أساسي، تعد الإلمام بدمج Git أمرًا ضروريًا عند التعامل مع أجهزة التحكم عن بعد. في الأسبوع الماضي، شاركت تجربتي الأولى مع Git merge وناقشت بعض أفضل الممارسات. قمت هذا الأسبوع بتطبيق هذه المعرفة أثناء العمل على ميزة جديدة، ليس في مستودعي الخاص، ولكن في مستودع أحد المتعاونين - وهو مستودع صديقي مايانك. وفي الوقت نفسه، عمل على ميزة في مستودعي، مما سمح لنا بممارسة التعاون عن بعد باستخدام Git.
حاليًا، تستخدم الأداة التي قمت بتطويرها خلال الأسابيع القليلة الماضية مجموعة افتراضية من القيم لخيارات مثل درجة الحرارة والنموذج، والتي يتم تطبيقها عندما لا يقدم المستخدمون وسيطات محددة. كان الهدف من هذه الميزة الجديدة هو توسيع وظائف الأداة عن طريق إضافة دعم لقراءة إعدادات التكوين من ملف TOML الموجود في الدليل الرئيسي للمستخدم.
على سبيل المثال، إذا كان لدى المستخدم ملف تكوين في C:\User\Anh\config.toml، فستقوم الأداة الآن بالتحقق من وجود ملفات .toml في الدليل الرئيسي للمستخدم. في حالة وجود مثل هذا الملف، تقوم الأداة بقراءة الملف وتطبيق قيمه لتعيين التكوينات الافتراضية، وتجاوز الإعدادات الافتراضية المضمنة. ومع ذلك، لا يزال بإمكان المستخدمين توفير وسيطات سطر الأوامر، والتي ستكون لها الأولوية على قيم ملف TOML.
لتنفيذ هذه الميزة، استخدمت حزمة toml لتحليل محتويات ملف تكوين TOML:
import * as toml from 'toml';
نظرًا لأن الأداة ستبحث عن ملف .toml في الدليل الرئيسي للمستخدم، فقد استخدمت وحدة نظام التشغيل المدمجة في Node.js لاسترداد مسار الدليل الرئيسي:
const os = require("os"); const homeDir = os.homedir();
بعد جمع كافة الملفات من الدليل الرئيسي للمستخدم، قمت بالتكرار عليها للعثور على الملفات المخفية (تلك التي تبدأ بنقطة .) والتي تنتهي بـ .toml. تم استخدام ملف .toml الأول الذي تم العثور عليه كمصدر تكوين للأداة.
كما ذكرنا سابقًا، تضمن هذا الأسبوع ممارسة سير عمل Git عن بُعد ودمج Git مع Mayank. للعمل على ميزة في مستودعه، اتبعت الخطوات التالية:
git push origin
بمجرد أن دفع Mayank تغييراته إلى فرع جديد وطلب طلب سحب (PR)، أردت اختبار الكود الخاص به قبل الدمج. هذا هو المكان الذي أصبح فيه git Remote ضروريًا:
git remote add
git fetch
git checkout -b/
أثناء الاختبار، حددت مشكلتين رئيسيتين في فرع مايانك:
// Resolve the path to the configuration file const configPath = path.resolve(__dirname, "../.toml"); // Load configuration from config.toml const config = loadConfig(configPath);
بعد تحديد هذه المشكلات، ناقشتها مع Mayank عبر Slack وتعاونت لإيجاد حل. لقد قدمت أيضًا تعليقات مباشرة على طلب السحب الخاص به. جعلتني هذه العملية أشعر وكأنني أساهم في مشروع تعاوني حقيقي. بمجرد أن أصبحت راضيًا عن الإصلاحات، قمت بدمج فرعه في الفرع الرئيسي ودفعته إلى مستودعي البعيد.
لقد كانت عملية العمل مع أجهزة التحكم عن بعد في Git والدمج تعليمية بشكل لا يصدق. أشعر الآن بثقة أكبر في التعاون في قواعد التعليمات البرمجية المشتركة. في السابق، غالبًا ما كنت أشعر بالإرهاق بسبب الالتزامات والمساهمات المتعددة من مطورين مختلفين، ولكن الآن أصبح لدي تحكم وفهم أفضل لسير عمل Git.
من خلال العمل على هذه الميزة ودمج أجهزة التحكم عن بعد في Git، اكتسبت خبرة عملية ستكون ذات قيمة كبيرة للمشاريع المستقبلية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3