اذهب إلى المحتوى

بدء العمل مع نظام إدارة الإصدارات جيت Git


هدى جبور

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

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

القراءة والكتابة

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

سنتحدث في مقالتنا هذه عن القراءة من المستودع فقط، ونغطي الكتابة في مقال آخر.

جيت أم جيت هاب؟

جيت ليس نفسه جيت هاب GitHub أو جيت لاب GitLab أو بت باكت Bitbucket، جيت هو برنامج سطر أوامر command-line، وهو يبدو كالتالي:

$ git
usage: Git [--version] [--help] [-C <path>]
  [-p | --paginate | --no-pager] [--bare]
  [--Git-dir=<path>] <command> [<args>]

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

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

تثبيت جيت

جيت يأتي مثبت مع جميع توزيعات لينوكس الأساسية، حيث يمكنك أن تجده ضمن مستودع البرامج software repository (بالنسبة لمستخدمي توزيعة BSD، فهو موجود ضمن شجرة المنافذ Ports tree ضمن قسم devel). عمومًا، يمكنك تثبيته باستخدام مدير حزم لينكس توزيعات ديبيان من خلال الأمر التالي:

$ sudo apt install git

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

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

الوصول إلى جيت

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

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

لنفترض أنك تريد تثبيت سلة المهملات Trash-Bin لاستخدامها في الطرفية Terminal، وذلك لأنك لسوء الحظ تتعرض كثيرًا لحالات مثل حذف ملفات عن طريق الخطأ أو مثلًا كنت تريد حذف بعض الملفات فقط من مجلد ولكنك حذفت الملفات عن طريق الخطأ من المجلدات الفرعية أيضًا، وذلك من خلال الأمر rm.

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

تنويه: لحسن الحظ يتم استضافة Trashy على غيت لاب بشكل افتراضي، ويمكنك الاطلاع عليها من هنا.

تحميل مستودع جيت بالكامل و تخزينه على جهازك

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

لجلب كامل المستودع من خلال جيت، نستخدم الأمر git clone إضافةً إلى تحديد عنوان URL لمستودع جيت المطلوب الحصول عليه، وفي حال لم تكن متأكدًا من عنوان المستودع، فيمكنك التأكد من العنوان من الصفحة الرئيسية للمستودع، حيث يكون معروضًا هناك.

على سبيل المثال، عنوان URL لمستودع Trashy من جيت لاب يكون معروضًا كما يلي:

1_gitlab-url.jpg

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

قد تلاحظ أنه في بعض الخدمات يتم توفير روابط SSH و HTTPS، لذا تجدر الملاحظة إلى أنه لا يمكنك استخدام روابط SSH إلا إذا كان لديك وصول SSH إلى المضيف (تمكّن العديد من خدمات الاستضافة لجيت استخدام هذه الروابط من خلال السماح لك بتحميل مفتاح SSH العام الخاص بك)، وإلا يجب عليك استخدام عنوان URL الخاص ببروتوكول HTTPS فقط.

بعد الحصول على عنوان URL، يصبح موضوع استنساخ المستودع بسيطًا، فكل ما عليك فعله هو استخدام الأمر git clone متبوعًا بالعنوان، كما يمكنك أيضًا (إذا أحببت) تحديد مجلد لوضعه فيه.

افتراضيًا، يتم نسخ مجلد جيت إلى مجلدك الحالي؛ على سبيل المثال، يتم وضع 'trashy.git' في مجلدك الحالي باسم 'trashy'. بالنسبة لي، أنا استخدم الامتداد .clone كاختصار للمستودعات التي يمكن قراءتها فقط، و .git للمستودعات التي يمكن قراءتها والكتابة عليها، ولكن هذا يعود لك، فهو لا يمثل قاعدة رسمية.

$ git clone https://gitlab.com/trashy/trashy.git trashy.clone
Cloning into 'trashy.clone'...
remote: Counting objects: 142, done.
remote: Compressing objects: 100% (91/91), done.
remote: Total 142 (delta 70), reused 103 (delta 47)
Receiving objects: 100% (142/142), 25.99 KiB | 0 bytes/s, done.
Resolving deltas: 100% (70/70), done.
Checking connectivity... done.

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

الطريقة الثانية لجلب نسخة من المستودع هي من خلال واجهة الويب، حيث يوفر كل من جيت هاب وجيت لاب لقطات لأي مستودع على هيئة ملفات بامتداد ‎.zip“‎” أي ملفات مضغوطة.

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

1_gitlab-zip.jpg

الحصول على ملف محدد من مستودع جيت

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

تكمن مشكلة استخدام هذه الطريقة في أنك قد تجد أن بعض الملفات غير موجودة ضمن مستودع جيت في الحالة الخام Raw (أي بدون تنزيله وبنائه)، حيث قد يكون الملف موجودًا بشكل كامل فقط بعد تنفيذ أمر make لبناء الملف، وهو الأمر الذي لن يحدث حتى تقوم قم بتنزيل المستودع، وقراءة ملف README أو INSTALL، ثم تنفيذ أوامر التثبيت والبناء. عمومًا، إذا كنت متأكدًا من وجود الملف يمكنك القيام بهذه العملية دون الحاجة لتنزيل المستودع.

في GitLab و GitHub، انقر فوق روابط الملفات Files لعرض الملف، واعرض الملف في الحالة الخام Raw، ثم احفظه من خلال متصفح الويب الذي تستخدمه، على سبيل المثال في Firefox نختار File ثم Save Page As.

في مستودع GitWeb، يكون هناك رابط للعرض بالحالة الخام Raw ضمن قائمة الملفات.

1_webgit-file.jpg

أفضل الممارسات

يمثل نسخ مستودع جيت بأكمله الطريقة الصحيحة للتفاعل مع جيت، وذلك لعدة أسباب، أولها سهولة تحديث النُسخ (الإصدارات) باستخدام الأمر git pull، حيث أنك لن تضطر في هذه الحالة إلى العودة إلى موقع الويب في كل مرة تحتاج فيها إلى الحصول على نسخة جديدة من الملف عندما يتم إجراء تحسين عليها.

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

بدايةً، سيكون من الجيد لك التدرب على نسخ مستودعات جيت من الإنترنت إلى حاسوبك كما تعلمنا، وفي حال لم تكن تعرف كيفية استخدام الطرفية Terminal جيدًا، فتابع الفقرة التالية.

أساسيات الطرفية

بدايًة، يجب أن تضع في ذهنك أن جميع الملفات على جهاز الحاسوب لها مسار “path.“ لنفرض الآن أنك تريد فتح ملف بالطريقة الاعتيادية، وليكن اسم الملف monkey، في هذه الحالة يتوجب عليك الذهاب إلى موقع الملف، وهذا يتضمن التنقل بين عدة مجلدات وصولًا إلى موقع الملف، على سبيل المثال الذهاب إلى المجلد HOME ثم Pictures وأخيرًا المجلد InktoberSketches الذي يتضمن الملف monkey المطلوب، وبالتالي يكون مسار الملف المطلوب هو:

$HOME/Pictures/InktoberSketches/monkey.kra

عموماً، تبدأ جميع مسارات الملفات بالمجلد ‎$HOME“‎” (أو إذا أردت يمكنك استبدالها بالمؤثر ~) متبوعة بقائمة من المجلدات وتنتهي باسم الملف المطلوب.

إذا كنت ترغب في نسخ مستودع جيت إلى مجلد المستندات Documents الخاص بك، فيمكنك فتح الطرفية وتنفيذ هذا الأمر:

$ git clone https://gitlab.com/foo/bar.git $HOME/Documents/bar.clone

بعد تنفيذ هذا الأمر، يمكنك الذهاب إلى مجلد المستندات، وستجد مجلد “bar.clone“ فيها.

يمكنك بعد ذلك زيارة هذا المستودع في وقت لاحق، واستخدام الأمر git pull لمعرفة ما إذا كانت هناك تحديثات للمشروع:

$ cd $HOME/Documents/bar.clone
$ pwd
bar.clone
$ git pull

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

ترجمة -وبتصرف- للمقال Getting started with Git لصاحبه Seth Kenlon.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...