كيفية سحب تحديثات مستودع Git بشكل جماعي
عندما يكون لديك العديد من المستودعات ، فإن سحبها يدويًا واحدًا تلو الآخر سيصبح أمرًا مزعجًا. باستخدام الطريقة الموضحة في هذه المقالة ، يمكنك سحب المستودعات بشكل جماعي.
الخطوات
- قم بإنشاء ملف نصي جديد بالاسم
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
- استبدل
【to_be_replace[包含多个仓库的路径]】
بالمسار الخاص بك ، على سبيل المثالC:\repos
. - قم بتشغيل الأمر:
أو قم بالنقر المزدوج على pull-master.sh
لتشغيله.
التنفيذ الدوري
- ابحث وافتح "مجدول المهام".
- انقر فوق "إنشاء مهمة".
- قم بتعبئة الاسم في علامة التبويب "العامة".
- قم بتعيين الدورة في علامة التبويب "المشغل".
- قم بإنشاء إجراء جديد في علامة التبويب "الإجراء" وحدد "البرنامج أو النص النصي" (على سبيل المثال
F:\pull-master.sh
) وأضف المعاملات (على سبيل المثالpull-master.sh
) وابدأ من (على سبيل المثالF:\
).
- قم بتشغيل الاختبار ، وإذا لم يكن هناك مشكلة ، فهذا يعني أنه يعمل بشكل صحيح. (إذا لم يكن ناجحًا ، يمكنك الاطلاع على Pull-Git-Repo.xml لمزيد من المعلومات).
نشرها على NAS Synology
- ضع النصي (مثل
github-pull.sh
) في أي مسار على NAS. - قم بتعديل المسار في
github-pull.sh
لـroot_dir
، على سبيل المثال"/volume1/projects"
، وهو المكان الذي تضع فيه مستودعات Git. - انتقل إلى "لوحة التحكم" - "مجدول المهام" - "إضافة" - "مهمة مخصصة" ، وقم بتكوين الوقت الذي ستعمل فيه المهمة والأمر الذي ستقوم بتشغيله (مثل
bash /volume1/stash/permanent/github-pull.sh
). - يمكنك تكوين نتائج الإخراج في "الإعدادات" ومن ثم اختيار المهمة والنقر على "تشغيل" للاختبار وفتح المسار المحدد للاطلاع على نتائج التشغيل.
إذا كنت بحاجة إلى إدخال كلمة مرور في كل مرة ، يمكنك استخدام الأمر التالي (يجب تمكين مجلد المستخدم مسبقًا):
سيقوم هذا بإنشاء ملف نصي محلي يحتوي على اسم المستخدم وكلمة المرور.
عندما يُطلب منك إدخال كلمة المرور مرة أخرى ، فقط قم بإدخالها مرة واحدة ، وبعد ذلك لن تحتاج إلى إعادة إدخالها.
المراجع والشكر
- باتش سحب Git الصغير
- باتش سحب Git بشكل جماعي - سحب أحدث رمز master للعديد من مستودعات الشفرة
- تنفيذ البرنامج النصي shell بشكل دوري في نظام Windows
تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.