كيف لا يتم متابعة ملفاتك المحلية باستخدام Git part 2

يرتكب ، الشد والجذب

هذه المقالة هي امتداد للجزء 1 ، بينما يمكنك تعلم هذا المقال والاستمتاع به دون قراءة الجزء الأول ، أوصيك بالاطلاع على آداب الفروع وسير العمل حيث سأستخدم نفس المفاهيم من الأولى.

نطاق هذا المقال

الإلتزامات هي خبز Git and Github ، وهي تقوم بتنظيم جميع التعليمات البرمجية الخاصة بك ، ويجب أن تجعلها سهلة الفهم للمطورين الآخرين حتى يتمكنوا من رؤية ما قمت بتغييره وكيف يتقدم المشروع ورمزك.
سيركز الجزء الثاني على آداب السلوك وكيفية إدارة عمليات الدفع والشد.

أدوات

كما كان من قبل ، سوف نستخدم عميل Git و Visual Studio Code لتكامل Git الرائع.

مبادئ

بادئ ذي بدء ، ما هي الالتزامات المستخدمة؟ إنهم يحفظون الكود ، وهذا نوع من الصواب ، لكنهم يفعلون أكثر من ذلك بكثير: الإلتزامات تنظم الكود الخاص بك إلى أجزاء صغيرة يمكن فهمها وتصنيفها بسهولة.

يستخدم المطورون الجيدون الالتزامات بعد نشرها لفهم كيفية إنجاز الأشياء وأي الملفات التي تم تعديلها. فكر في طلبك ككتاب جيد حقًا.

الفصول تعادل الإلتزامات (نوع ، وليس حرفيًا) إذا كنت تريد أن تعرف أين تقع أليس في الكتاب في حفرة الأرانب فستجد أنها تفعل ذلك في الفصل المسمى "Down the Rabbit-Hole" اتبع نفس القواعد.

متاهة من التعقيدات وغير وصفية يرتكب لا أحد يريد التعامل معها.

ما ينبغي أن تحتوي على الالتزام الجيد

الشيء الوحيد الأكثر أهمية حول الإلتزامات هو ما تحتويه بهذه البساطة ، قد يبدو من الصعب غالبًا على المطورين اتباعه.

يمكنك إصلاح بعض القواعد النحوية على الأسئلة الشائعة أثناء عملك على مكون شريط التنقل التفاعلي؟ ضع ذلك في حد ذاته. تشرح المقالة السابقة كيفية حفظ ملف واحد في التزام باستخدام VSCode.

كل التزام له سمة ، عليك أن تتذكر أن التعودات تعتاد كثيرًا. لجعل عملك وعمل أي شخص آخر أكثر سهولة تحتاج إلى جعلها صغيرة مع نوع واحد فقط من التغيير. على سبيل المثال ، يمكن أن يكون تغيير React.PropTypes (رد فعل <15.5) إلى أنواع دعم (تفاعل ≥ 15.5) لـ 5 ملفات مختلفة التزامًا واحدًا فقط ، ولكن إذا كنت تريد تغيير إجراء Redux يمثل التزامًا آخر ، فلا تخلط بين أشياء مختلفة .

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

عنوان الالتزام

git $ - الالتزام "إصلاح حساسية الحالة لإدخال البريد الإلكتروني"

الاستفادة من الحرف الأول ليس الكثير لتوضيح ، القواعد 101.

تحت 72 حرفًا وحوالي 50 حرفًا ، لا تريد تقسيم رسالة الالتزام إلى قسمين (النقاط الثلاث الشهيرة). هذه هي الطريقة التي تقدم بها الالتزامات الجيدة نفسها.

لا تفعل هذا!

اجعله قصيرًا وواضحًا وهذا يعني أن نص الالتزام يجب أن يكون شرحًا موجزًا ​​لما يفعله ، والالتزام أعلاه ليس واضحًا ولا قصيرًا ، ويحتوي على إصلاح لطريق مع /: اسم المستخدم الذي يتم تقييمه قبل / تسجيل الخروج ، وهذا يعني أن تعتبر دائمًا أن تسجيل الخروج هو اسم مستخدم وحاول استرداد ملف تعريف من قاعدة البيانات يسمى logout. قضية بسيطة من الطرق الأولوية. ماذا سيكون اسم أفضل لهذا الالتزام؟

git الالتزام -m "إصلاح طرق الأولوية"

باختصار ومباشر ، إذا كنت ترغب في الحصول على مزيد من المعلومات حول ما يفعله الالتزام ، فيمكنك فتح الالتزام وفحص التغييرات في التعليمات البرمجية ، وهي عادة جيدة عندما تتطور كمطور.

لكنني أريد أن أكون أكثر تحديداً من ذلك في التزامي ، كيف يمكنني القيام بذلك في 50 حرفًا؟

ارتكاب الجسم

لا يوجد الكثير ليقوله حول هذا الموضوع ، حيث يمكن أن يكون نص الالتزام وصفيًا كما تريد ولكن تذكر أنه يجب أن يصف الكود ، وليس بديلاً عنه.

لحسن الحظ ، هناك طريقة سهلة وسريعة لكتابة رسائل نصية من وحدة التحكم دون استخدام vim الذي يحبه الجميع.

$ git -m "عنوان التزام بلدي" -m "رسالتي"

الالتزام باستخدام VSCode

هذا مأخوذ في الغالب من المقال السابق ، إذا كنت مهتمًا بكيفية عمله بالتفصيل ، فيرجى قراءة.

بمجرد الانتهاء من إجراء تغييراتك من علامة تبويب مصدر الشريط الجانبي ، فقط أضف عنوانًا وحفظ الالتزام.

فقط انقر على الخامس وانت القيام به.

من المفيد الحفاظ على تركيزك على المحرر أثناء قيامك بمهمة كبيرة حيث يمكنك الاستمرار في تعديل التعليمات البرمجية أثناء ارتكابها كلما تقدمت.

كيفية دفع التزاماتك رهيبة دون تدمير كل شيء

يستخدم هذا القسم ويطلب منك اتباع آداب السلوك المنصوص عليها في المقالة السابقة لفهم محتواها تمامًا.

الآن لدينا ارتكاب مثالي في فروعنا المثالية ، كيف نضغط على كل هذه الذهول؟

دعونا نضع بعض العادات.

بعد الانتهاء من العمل على الكود ، يجب عليك دائمًا تحديث فرعك من الفرع الأساسي الذي كان يستند إليه. روتيني عادة ما يكون على النحو التالي:

// نبدأ من الإصلاح فرع / فرع بلدي
تطوير بوابة الخروج $
سحب بوابة $
$ git checkout fix / my-branch
git دمج التنمية التنمية

دعونا نوضح بالتفصيل ما يجري هنا.

أولاً وقبل كل شيء ، يقوم git pull بنفس طريقة git fetch + git merge ، ويأتي ذلك مع تحكم أقل وتأثيرات جانبية أكثر ، ولن ندخل في التفاصيل هنا ، وأفضّل استخدام كلتا الطريقتين ، وهذا هو تفكيري.

الغرض من فرع التطوير هو خدمتنا كقاعدة لجميع الفروع الأخرى التي ننشئها لكتابة كود جديد ، إنه نظيف لأنه قبل دمج الفروع العاملة التي قمت أنت وفريقك باختبارها على نطاق واسع.

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

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

إذا كان الاندماج يذهب دون مشاكل

ما عليك سوى الضغط على فرع العمل الخاص بك وتقديم طلب سحب مقابل التطوير ، وانتظر المراجعة (وهذا هو الوقت الذي ستتألق فيه آداب الالتزام لأن زملائك المطورين سيكونون قادرين على مراجعة تغييراتك بشكل أفضل وأسرع وغير مؤلم.

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

إذا دمج دمج الصراعات

وأنا أعلم ، وأنا أعلم أنه يحدث في كل وقت.

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

Goddamit git ، لماذا؟

كما ترى ، تساعدنا وحدة التحكم بالفعل من خلال منحنا اسم الملف الذي حدثت فيه تعارضات ، فلنفتح هذا الملف.

البصرية ستوديو كونها مفيدة كما هو الحال دائما.

هذا ما نراه على Visual Studio عند فتح الملف "التالف" ، لنبدأ من الشريط الجانبي الأيسر.

(C) ← باللون الأرجواني تخبرنا بالملفات التي بها تعارضات (يمكننا أن نرى ذلك على وحدة التحكم أيضًا ولكن من الأسهل تصور ذلك).

يوجد تعارض في الملف نفسه ، في هذا المثال هو تغيير نص بسيط يحدد بوضوح من أين تأتي هذه التغييرات. الجزء العلوي هو فرع العمل الحالي بينما الجزء السفلي هو التطوير.

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

بمجرد حل جميع الصراعات ارتكاب النتيجة. إذا كنت ترغب في اختباره مرة أخرى ، فما عليك سوى تشغيل الأوامر المذكورة أعلاه للسحب والاندماج من فرع التطوير مرة أخرى ، وبمجرد التأكد من عدم وجود المزيد من الصراعات ، فما عليك سوى دفع الفرع وسحب الطلب مقابل فرع التطوير ، فويل لقد انتهيت!

خاتمة أو TLDR

قم بالتعهدات الطيبة ، وتتباهى بسجل التزامك ، وكن المطور الذي يحب الجميع مراجعته ، ولا يقع ضحية للنزاعات ، وشرب ما لا يقل عن 6 أكواب من الماء يوميًا وتذهب في نزهة كل مرة من حين إلى آخر.

يمكنك العثور على الجزء 3 من هذه السلسلة هنا ، وإذا كنت قد قرأت قراءة السلسلة الأولى ، فيمكنك قراءتها هنا.