انتقل إلى المحتوى

كيفية سحب تحديثات مستودع Git بشكل جماعي

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

الخطوات

  1. قم بإنشاء ملف نصي جديد بالاسم pull-master.sh والصق الشفرة التالية فيه:
pull-master.sh
#!/bin/bash

function showMsg()
 {
   echo -e "\033[32m$1\033[0m"
 }

function getdir(){
    for element in `ls $1`
    do
        dir_or_file=$1"/"$element
        if [ -d $dir_or_file ]
        then
            cd $1"/"$element
            showMsg 'git pull '$element
            git pull
        else
            echo $dir_or_file
        fi
    done
}
root_dir="【to_be_replace[包含多个仓库的路径]】"
getdir $root_dir
  1. استبدل 【to_be_replace[包含多个仓库的路径]】 بالمسار الخاص بك ، على سبيل المثال C:\repos.
  2. قم بتشغيل الأمر:
sh pull-master.sh
أو
./pull-master.sh

أو قم بالنقر المزدوج على pull-master.sh لتشغيله.

التنفيذ الدوري

  1. ابحث وافتح "مجدول المهام".
  2. انقر فوق "إنشاء مهمة".
    1. قم بتعبئة الاسم في علامة التبويب "العامة".
    2. قم بتعيين الدورة في علامة التبويب "المشغل".
    3. قم بإنشاء إجراء جديد في علامة التبويب "الإجراء" وحدد "البرنامج أو النص النصي" (على سبيل المثال F:\pull-master.sh) وأضف المعاملات (على سبيل المثال pull-master.sh) وابدأ من (على سبيل المثال F:\).
  3. قم بتشغيل الاختبار ، وإذا لم يكن هناك مشكلة ، فهذا يعني أنه يعمل بشكل صحيح. (إذا لم يكن ناجحًا ، يمكنك الاطلاع على Pull-Git-Repo.xml لمزيد من المعلومات).

نشرها على NAS Synology

  1. ضع النصي (مثل github-pull.sh) في أي مسار على NAS.
  2. قم بتعديل المسار في github-pull.sh لـ root_dir ، على سبيل المثال "/volume1/projects" ، وهو المكان الذي تضع فيه مستودعات Git.
  3. انتقل إلى "لوحة التحكم" - "مجدول المهام" - "إضافة" - "مهمة مخصصة" ، وقم بتكوين الوقت الذي ستعمل فيه المهمة والأمر الذي ستقوم بتشغيله (مثل bash /volume1/stash/permanent/github-pull.sh).
  4. يمكنك تكوين نتائج الإخراج في "الإعدادات" ومن ثم اختيار المهمة والنقر على "تشغيل" للاختبار وفتح المسار المحدد للاطلاع على نتائج التشغيل.

إذا كنت بحاجة إلى إدخال كلمة مرور في كل مرة ، يمكنك استخدام الأمر التالي (يجب تمكين مجلد المستخدم مسبقًا):

git config –global credential.helper store

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

المراجع والشكر

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