مقدمة إلى Git: ما هي ، وكيفية استخدامها

Git هو نظام تحكم في الإصدار موزع مفتوح المصدر . الآن هناك الكثير من الكلمات لتعريف Git.

اسمحوا لي أن أقسمها وأشرح الصياغة:

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

لماذا هناك حاجة إلى نظام التحكم في الإصدار مثل Git

عادة ما يكون لمشاريع الحياة الواقعية مطورون متعددون يعملون بالتوازي. لذلك هناك حاجة إلى نظام التحكم في الإصدار مثل Git لضمان عدم وجود تعارض في التعليمات البرمجية بين المطورين.

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

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

لنبدأ في استخدام Git الآن

بدلاً من ذكر جميع المفاهيم مرة واحدة ، سأشرح مفاهيم Git من خلال مثال حتى يسهل اتباعها.

تنزيل git

يحتوي هذا الرابط على تفاصيل حول كيفية تثبيت Git في أنظمة تشغيل متعددة:

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

تحقق مما إذا كان Git مثبتًا باستخدام الأمر التالي في موجه الأوامر:

git --version

قم بإنشاء مستودع Git المحلي الخاص بك

في جهاز الكمبيوتر الخاص بك ، قم بإنشاء مجلد لمشروعك. دعنا نسمي مجلد المشروع simple-git-demo.

انتقل إلى مجلد المشروع وأضف مستودع Git محليًا إلى المشروع باستخدام الأوامر التالية:

cd simple-git-demo git init

و git initيضيف قيادة بوابة مستودع المحلية للمشروع.

دعنا نضيف بعض التعليمات البرمجية الصغيرة الآن

قم بإنشاء ملف يسمى demo.txtفي مجلد المشروع وأضف النص التالي إليه:

Initial Content

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

تنظيم وتنفيذ الكود

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

لن يتم الالتزام بأي ملف لم تتم إضافته إلى منطقة التدريج. يمنح هذا المطور التحكم في الملفات التي يجب الالتزام بها.

انطلاق

استخدم الأمر التالي لتنظيم الملف:

git add demo.txt

في حالة رغبتك في إضافة ملفات متعددة ، يمكنك استخدام:

git add file1 file2 file3

إذا كنت تريد إضافة جميع الملفات الموجودة داخل مجلد المشروع إلى منطقة التدريج ، فاستخدم الأمر التالي:

git add .

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

يلتزم

استخدم الأمر التالي لتثبيت الملف:

git commit -m "Initial Commit"

"الالتزام الأولي" هو رسالة الالتزام هنا. أدخل رسالة الالتزام ذات الصلة للإشارة إلى تغييرات التعليمات البرمجية التي تم إجراؤها في هذا الالتزام المحدد.

Git Status و Git Log

الآن قم بتعديل ملف demo.txtملف وإضافة المقتطف التالي:

Initial Content Adding more Content

الحالة

تُستخدم git statusلمعرفة المعلومات المتعلقة بالملفات التي تم تعديلها والملفات الموجودة في منطقة التدريج - تُظهر أيضًا معلومات أخرى ، والتي يمكننا تجاهلها في الوقت الحالي.

استخدم الأمر التالي لمعرفة الحالة:

git status

تُظهر الحالة أنه demo.txtتم تعديله ولم يتم وضعه بعد في منطقة التدريج.

الآن دعونا نضيف demo.txtإلى منطقة التدريج ونلتزم بها باستخدام الأوامر التالية:

git add demo.txt git commit -m "demo.txt file is modified"

سجل

استخدم git logلطباعة جميع الالتزامات التي تم القيام بها حتى الآن.

الأمر المستخدم لهذا هو:

git log

يُظهر السجل مؤلف كل إجراء وتاريخ الالتزام ورسالة الالتزام.

الفروع

حتى الآن لم ننشئ أي فرع في Git. بشكل افتراضي ، تنتقل التزامات Git إلى الفرع الرئيسي .

ما هو الفرع؟

الفرع ليس سوى مؤشر لآخر التزام في مستودع Git. لذا فإن فرعنا الرئيسي حاليًا هو مؤشر على الالتزام الثاني “demo.txt file is modified”.

لماذا هناك حاجة إلى عدة فروع؟

هناك حاجة إلى فروع متعددة لدعم العديد من التطورات المتوازية. راجع الصورة أدناه لمعرفة كيفية عمل الفروع.

في البداية ، تم تنفيذ الالتزام 1 والالتزام 2 في الفرع الرئيسي. بعد الالتزام 2 ، يتم إنشاء فرع جديد يسمى "اختبار" ، ويتم إضافة الالتزام 3 والالتزام 4 إلى فرع الاختبار.

في نفس الوقت ، يتم إضافة التزام مختلف 3 والتزام 4 إلى الفرع الرئيسي. هنا يمكننا أن نرى أنه بعد الالتزام 2 ، يتم إجراء تطورين متوازيين في فرعين منفصلين.

تباعد فرع الاختبار والفرع الرئيسي هنا ولهما رمز مختلف - يمكن دمج الكود من فرع الاختبار مع الفرع الرئيسي باستخدام git merge. سيتم تغطية هذا لاحقًا.

إنشاء فرع جديد باللغة المحلية

أنشئ فرعًا جديدًا يسمى الاختبار باستخدام الأمر التالي:

git branch test

هذا الأمر يخلق testالفرع.

ما زلنا في سياق الفرع الرئيسي. من أجل التحول إلى test الفرع. استخدم الأمر التالي:

git checkout test

الآن نحن في testالفرع.

يمكنك سرد جميع الفروع المحلية باستخدام الأمر التالي:

git branch

قم ببعض الالتزامات في الفرع الجديد

عدّل demo.txtبإضافة المقتطف التالي:

Initial Content Adding more Content Adding some Content from test Branch

الآن المرحلة والتزم باستخدام الأوامر التالية:

git add demo.txt git commit -m "Test Branch Commit"

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

يمكنك التحقق من سجل الالتزام في Test Branch باستخدام:

git log

الدمج

حاليًا ، يتقدم Test Branch على Master بمقدار التزام واحد. لنفترض أننا نريد الآن إعادة جميع التعليمات البرمجية الموجودة في فرع الاختبار إلى الفرع الرئيسي. هذا هو المكان git mergeالمفيد جدا.

لدمج الكود من فرع الاختبار في الفرع الرئيسي ، اتبع الخطوات التالية:

أولا ارجع إلى الفرع الرئيسي:

git checkout master

ثم قم بتشغيل mergeالأمر:

git merge test

بعد تشغيل هذين الأمرين ، يجب أن يكون الدمج ناجحًا. في هذا المثال ، لا توجد صراعات.

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

يركض git logالآن وستلاحظ أن السيد لديه أيضًا 3 التزامات.

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

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

جيثب

هنا سنستخدم GitHub للمستودع البعيد.

انتقل إلى //github.com/ وأنشئ حسابًا.

بعد التسجيل في صفحة GitHub الرئيسية ، انقر فوق بدء مشروع لإنشاء مستودع Git جديد. امنح المستودع اسمًا وانقر على "إنشاء مستودع"

أعط الاسم كـ git-blog-demo.

سيؤدي هذا إلى إنشاء مستودع بعيد في GitHub ، وعندما تفتح المستودع ، ستفتح صفحة مثل الصورة أدناه:

عنوان URL للمستودع هو الجزء المميز //github.com/aditya-sridhar/git-blog-demo.git

لتوجيه مستودعك المحلي إلى المستودع البعيد ، استخدم الأمر التالي:

git remote add origin [repository url]

دفع Git

لدفع كل التعليمات البرمجية من المستودع المحلي إلى المستودع البعيد ، استخدم الأمر التالي:

git push -u origin master

يؤدي هذا إلى دفع الكود من الفرع الرئيسي في المستودع المحلي إلى الفرع الرئيسي في المستودع البعيد.

أوامر إضافية

جيت بول

git pullيستخدم لسحب أحدث التغييرات من المستودع البعيد إلى المستودع المحلي. يتم تحديث كود المستودع البعيد بشكل مستمر من قبل مطورين مختلفين ، وبالتالي git pull فهو ضروري:

git pull origin master

Git Clone

git cloneيُستخدم لاستنساخ مستودع بعيد موجود في جهاز الكمبيوتر الخاص بك. الأمر لهذا هو:

git clone [repository url]

مبروك

أنت الآن تعرف أساسيات كيفية استخدام Git ، لذا انطلق واستكشف المزيد!

سأقوم قريبًا بنشر مقال آخر حول مفاهيم أكثر تقدمًا عن Git. ترقب!

عن المؤلف

أنا أحب التكنولوجيا وأتابع التطورات التكنولوجية. أحب أيضًا مساعدة الآخرين بأي معرفة لدي في مجال التكنولوجيا.

لا تتردد في الاتصال بي على حساب LinkdIn الخاص بي //www.linkedin.com/in/aditya1811/

يمكنك أيضًا متابعتي على twitter //twitter.com/adityasridhar18

موقع الويب الخاص بي: //adityasridhar.com/

وظائف أخرى بواسطتي

كيفية استخدام Git بكفاءة