مقدمة لبوابة

نشرت: 2022-06-30

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

تحت كل موقع ، هناك كود يتم تنفيذه - سواء كنت تستخدم WordPress أو WooCommerce أو Drupal أو Magento أو NextJS أو حتى HTML مشفر يدويًا. هناك مجموعات من الملفات اللازمة لتقديم كل صفحة وعرض المحتوى للعالم.

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

هذا هو المكان الذي يأتي فيه Git. استمر في القراءة للتعرف على Git والعمل مع مستودعات Git البعيدة والمزيد.

فهم جيت

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

لمحة تاريخية

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

بسبب إحباطه من هذه المشكلات ، دفع مشروع Linux Linus Torvald إلى تنفيذ فكرة جديدة إلى حد ما لمشروع لمشاركة قاعدة الكود بأكملها بين المطورين وأخذ "لقطات" من تغييراتهم ، المسماة commits ، والتي يمكن مشاركتها ودمجها مع أي نسخة أخرى من الشفرة في أي مكان في العالم. ساعد هذا على الفور في التواصل ، حيث يمكن اعتبار جميع تغييرات المشروع بمثابة سجل واحد.

هذه الطريقة لالتقاط هذه اللقطات هي Git ، والتي سرعان ما اكتسبت حياة خاصة بها وتم تطويرها بشكل مستقل عن مشروع Linux منذ ذلك الحين.

رسم بياني للتغييرات

من الناحية المفاهيمية ، يمكنك التفكير في Git كرسم بياني للعقد ، حيث تكون كل عقدة لقطة للمشروع بأكمله في وقت واحد. يوضح كتاب Git الموجود على git-scm.com بنية اللقطة.

يخزن Git البيانات كلقطات من المشروع بمرور الوقت

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

فيما يلي نظرة سريعة على شكل مشروع Git إذا وضعت أحدث تغيير في أعلى الرسم البياني. ملاحظة - هذا المثال يستخدم GitKraken Git GUI لتصور الرسم البياني.

مثال على الرسم البياني git

بناء Git Graph

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

عند العمل محليًا ، تكون جميع التغييرات التي تقوم بحفظها في مشروعك موجودة في "دليل العمل". يمكن لـ Git رؤية هذه التغييرات ، لكنه لا يعرف بعد التغييرات التي تريد تنفيذها. ستحتاج إلى إخبار Git صراحةً بالتغييرات التي تريد تنفيذها باستخدام أمر يسمى "git add" لإضافة تلك الملفات المحددة إلى "منطقة التدريج" في Git.

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

خطوات إضافة والتنفيذ Git

العودة في الوقت المناسب

تتمثل إحدى مزايا Git وتوفر محفوظات المشروع بالكامل في أنه يمكنك التراجع والتراجع عن أي وجميع التغييرات في أي وقت.

إذا كان الالتزام الأخير الذي أجريته يكسر شيئًا ما ، أو غيرت رأيك بشأن ما فعلته ، فيمكنك إجراء "Git return" للعودة إلى التزام Git. يؤدي هذا إلى إنشاء التزام جديد على الرسم البياني يلغي ببساطة التغييرات التي أجريتها للتو.

إذا كنت تريد العودة بالزمن إلى الوراء وجعل الأمر يبدو وكأنك لم تلتزم أبدًا ، يمكنك استخدام "Git reset" للقيام بذلك.

قوة التفرع والدمج في Git

واحدة من أقوى الميزات التي يوفرها لنا Git هي القدرة على إنشاء حقائق بديلة موازية. لا حقا.

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

بمجرد إجراء التغييرات على فرع الميزات الخاص بك ، يمكنك تطبيق جميع التغييرات على الفرع الرئيسي عن طريق إجراء دمج Git.

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

يتيح لك دمج Git أيضًا سحب التغييرات من الفرع الرئيسي إلى فرع الميزة. يمنحك هذا القدرة على التأكد من أن التحديثات التي تم إجراؤها على الفرع الرئيسي ستستمر في العمل مع التغييرات المقترحة قبل محاولة دمجها مع "رئيسي".

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

العمل مع المستودعات البعيدة في Git

يتمثل أحد الأهداف الرئيسية لـ Git في تسهيل مشاركة التعليمات البرمجية مع الأشخاص في جميع أنحاء العالم. مدمج في Git هو مفهوم المستودع البعيد.

مستودع Git هو مجلد المشروع بأكمله حيث تخزن عملك وهو ما يتتبعه Git بمرور الوقت. يمكن استنساخ كل مستودع باستخدام أمر Git clone ، ومشاركته عددًا غير محدود من المرات ، مما يجعل Git قابلاً للتوسع بدرجة كبيرة.

هناك جانب آخر يجعل Git قابلاً للتوسع وهو أنه إذا قمت بتغيير مستند ، فلن تحتاج إلى تخزين نسخة جديدة تمامًا من هذا المستند. يتم تخزين التغييرات في شكل حزم صغيرة من المعلومات يشار إليها باسم "دلتا" ، وفقط الأسطر المعدلة بشكل فردي من الملف وقليلًا من البيانات حول التغيير هو ما يحتاجه Git لتخزينه أو مشاركته. تتميز الدلتا بأنها خفيفة الوزن جدًا ، وغالبًا ما تكون قليلة الحجم. على سبيل المثال ، إذا قمت بتغيير سطر واحد في مستند 100 كيلوبايت ، فإن دلتا ستكون 20 بايت فقط أو نحو ذلك.

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

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

نموذج git للعمل مع المستودعات البعيدة

هناك عدد من الشركات التي تجعل التعاون في المستودعات البعيدة أمرًا بسيطًا للغاية ويمكن التحكم فيه. تقدم المنصات مثل GitHub و GitLab و BitBucket أدوات تعاون واستضافة لمستودعات Git عبر الإنترنت. هناك عدة ملايين من مستودعات Git عبر الإنترنت يديرها ملايين المطورين ، ويتتبع Git كل مصدر من مصادر الحقيقة ، بغض النظر عن عدد الأشخاص المتعاونين.

ما لا يجب تخزينه في Git

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

إذا كان ملف ".gitiginore" موجودًا ، فسيقوم Git بمراجعته لمعرفة ما إذا كان يجب أن يشاهد هذه العناصر على الإطلاق. داخل ".gitiginore" يمكنك سرد أسماء ملفات فردية أو أدلة كاملة أو أنواع كاملة من الملفات. على سبيل المثال ، إذا أردت استبعاد جميع ملفات .png و. jpg ومجلد "wp-content / uploads" بالكامل ، فستكتب ببساطة في ملفات ".gitiginore":

 *.png *.jpg wp-content/uploads

لماذا تستبعد ملفات الوسائط من Git؟

يخزن Git لقطات من المشروع ويمرر "دلتا" فقط. ولكن إذا كان الملف المعني عبارة عن "blob" من البيانات ، مثل صورة أو مقطع فيديو أو أي ملف ثنائي آخر ، فسيؤدي كل تغيير في الملف إلى إنشاء blob جديد تمامًا من البيانات. يحتاج Git بعد ذلك إلى تذكر حالة كل من blob القديم و blob الجديد ، مما يضيف الكثير من الحجم غير الضروري إلى المستودع. يتراكم هذا بمرور الوقت ، وسرعان ما تصبح المستودعات غير عملية حيث تفقد الفوائد الخفيفة من Git.

صدق أو لا تصدق ، قد لا ترغب في تتبع التغييرات في WordPress الأساسية نفسها. هناك عدة أسباب لذلك.

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

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

استنتاج

نأمل أن يكون لديك الآن فهم أفضل لما هو Git وكيف يمكن الاستفادة منه للعمل مع كود موقع الويب الخاص بك. يمكن استخدام Git لأي وجميع الملفات التي ستغيرها بمرور الوقت ، حتى لو لم تكن رمزًا للكمبيوتر.

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

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

Git مجاني للاستخدام ومعظم Git GUIs ، مثل GitKraken لديها إصدارات مجانية. لا يوجد سبب يمنعك من استخدام Git لتتبع عملك ، لذا "Git" لذلك!

موارد ذات الصلة

- التطوير المحلي لـ WordPress مع XAMPP

- الاستخدام المتقدم للبوابة وسير العمل

- خطاف بوابة

- ما هو موقع التطوير؟

- التخزين المؤقت لـ WordPress