مرجع أوامر الريبو

يكمل الريبو Git من خلال تبسيط العمل عبر مستودعات متعددة. انظر أدوات التحكم مصدر تفسيرا للعلاقة بين الريبو وجيت. لمزيد من التفاصيل حول الريبو، راجع الريبو README .

يأخذ استخدام الريبو الشكل التالي:

repo command options

تظهر العناصر الاختيارية بين قوسين []. على سبيل المثال، العديد من الأوامر تأخذ project-list كحجة. يمكنك تحديد project-list على شكل قائمة من الأسماء أو قائمة المسارات إلى الدلائل مصدر المحلية للمشاريع:

repo sync [project0 project1 ... projectn]
repo sync [/path/to/project0 ... /path/to/projectn]

يساعد

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

repo help

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

repo help command

على سبيل المثال، ينتج الأمر التالي وصفا وقائمة من الخيارات لل init حجة الريبو، الذي تهيئة الريبو في الدليل الحالي. (انظر الحرف الأول للحصول على التفاصيل.)

repo help init

أو لرؤية قائمة الخيارات المتاحة فقط ، قم بتشغيل:

repo command --help
على سبيل المثال:
repo init --help

فيه

repo init -u url [options]

تثبيت الريبو في الدليل الحالي. وهذا يخلق .repo/ الدليل مع مستودعات بوابة لرمز مصدر الريبو وملفات البيان الروبوت القياسية.

خيارات:

  • -u : حدد URL من خلالها استرداد اضح مستودع. تم العثور على الظاهر المشترك في https://android.googlesource.com/platform/manifest .
  • -m : اختر ملف البيان داخل مستودع. إذا لم يتم تحديد اسم واضح، الافتراضي هو default.xml .
  • -b : حدد مراجعة، وهذا هو، على وجه الخصوص manifest-branch .

ملاحظة: لجميع أوامر الريبو المتبقية، يجب أن يكون دليل العمل الحالي إما الدليل الأصل من .repo/ أو دليل فرعي من الدليل الأصل.

تزامن

repo sync [project-list]

تنزيل التغييرات والتحديثات الملفات التي تعمل في بيئة المحلية الجديدة، بإنجاز أساسا git fetch عبر كافة مستودعات Git. إذا قمت بتشغيل repo sync بدون وسائط، ومزامنة الملفات لجميع المشاريع.

عند تشغيل repo sync ، وهذا هو ما يحدث:

  • إذا لم يتم مزامنة المشروع، ثم repo sync ما يعادل git clone . يتم نسخ جميع الفروع الموجودة في المستودع البعيد إلى دليل المشروع المحلي.

  • إذا تم مزامنة المشروع من قبل، ثم repo sync ما يعادل:

    git remote update
    git rebase origin/branch
    

    حيث branch هو فرع سحبه حاليا في دليل المشروع المحلي. إذا كان الفرع المحلي لا يتتبع فرعًا في المستودع البعيد ، فلن تحدث مزامنة للمشروع.

  • إذا rebase على بوابة نتائج عملية في الصراعات الدمج، استخدم الأوامر بوابة العادية (على سبيل المثال، git rebase --continue ) لحل النزاعات.

بعد مسيرته الناجحة في repo sync ، رمز في مشاريع المحدد حتى الآن، ومزامنة مع التعليمات البرمجية في مستودع بعيد.

فيما يلي الخيارات الرئيسية. انظر repo help sync لأكثر:

  • -c : إحضار سوى فرع واضح الحالي من الخادم.

  • -d : عودة التبديل المحدد المشاريع إلى مراجعة واضح. يكون هذا مفيدًا إذا كان المشروع حاليًا في فرع موضوع ، ولكن هناك حاجة إلى مراجعة البيان مؤقتًا.

  • -f : المضي قدما في المزامنة مشاريع أخرى حتى لو فشل مشروع متزامنة.

  • -j threadcount : انقسم المزامنة عبر المواضيع لسرعة الانتهاء. تأكد من عدم إرباك جهازك - اترك بعض وحدة المعالجة المركزية مخصصة لمهام أخرى. لمعرفة عدد وحدات المعالجة المركزية المتاحة، الجولة الأولى: nproc --all

  • -q : تشغيل بهدوء عن طريق قمع رسائل الحالة.

  • -s : Sync لبناء جيد معروف كما هو محدد من قبل manifest-server عنصر في البيان الحالي.

تحميل

repo upload [project-list]

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

ثم يتم إرسال جميع الالتزامات في الفروع المحددة إلى Gerrit عبر اتصال HTTPS. تحتاج إلى تكوين كلمة مرور HTTPS لتمكين ترخيص التحميل. زيارة مولد كلمة السر لتوليد زوج اسم المستخدم / كلمة سر جديدة لاستخدام أكثر من HTTPS.

عندما يتلقى Gerrit بيانات الكائن عبر خادمه ، فإنه يحول كل التزام إلى تغيير بحيث يمكن للمراجعين التعليق على التزام معين. الجمع بين العديد من يرتكب نقطة تفتيش في احد ارتكابها، واستخدام git rebase -i قبل تشغيل التحميل.

إذا قمت بتشغيل repo upload بدون وسائط، فإنه يبحث عن مشاريع لإجراء تغييرات لتحميل.

لتحرير التغييرات بعد لقد تم تحميلها، استخدم أداة مثل git rebase -i أو git commit --amend لتحديث يرتكب المحلية. بعد اكتمال تعديلاتك:

  • تحقق من أن الفرع المحدث هو الفرع المعار حاليًا.
  • لكل التزام في السلسلة ، أدخل معرف تغيير Gerrit داخل الأقواس:
    # Replacing from branch foo
    [ 3021 ] 35f2596c Refactor part of GetUploadableBranches to lookup one specific...
    [ 2829 ] ec18b4ba Update proto client to support patch set replacments
    # Insert change numbers in the brackets to add a new patch set.
    # To create a new change record, leave the brackets empty.
    

بعد اكتمال التحميل ، تحتوي التغييرات على مجموعة تصحيح إضافية.

إذا كنت ترغب في تحميل فقط سحبه حاليا من فرع جيت، واستخدام العلم --current-branch (أو --cbr قصيرة).

فرق

repo diff [project-list]

ويبين التغييرات العالقة بين الالتزام وكانت الشجرة في العمل باستخدام git diff .

تحميل

repo download target change

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

على سبيل المثال، لتحميل تغيير 23823 إلى دليل منصة / الإنشاء الخاصة بك:

repo download platform/build 23823

تشغيل repo sync يزيل أي يرتكب إستردادها مع repo download . أو يمكنك التحقق من فرع بعيد باستخدام git checkout m/master .

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

فورال

repo forall [project-list] -c command

ينفذ أمر shell المحدد في كل مشروع. مصنوعة متغيرات البيئة الإضافية التالية توفرها repo forall :

  • REPO_PROJECT تم تعيينها إلى اسم فريد للمشروع.

  • REPO_PATH هو مسار نسبة إلى جذر العميل.

  • REPO_REMOTE هو اسم النظام البعيد من البيان.

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

  • REPO_RREV هو اسم من المراجعة من واضح، بالضبط كما هو مكتوب في البيان.

خيارات:

  • -c : القيادة والحجج لتنفيذ. يتم تقييم الأمر من خلال /bin/sh ويتم تمرير أي حجج بعد ذلك من خلال كمعلمات الموضعية قذيفة.

  • -p : رؤوس مشاهدة المشروع قبل إخراج الأمر المحدد. يتم تحقيق ذلك عن طريق ربط الأنابيب بتدفقات الأمر stdin و stdout و sterr ، وتوصيل كل المخرجات إلى دفق مستمر يتم عرضه في جلسة بيجر واحدة.

  • -v : يكتب مشاهدة رسائل الأمر إلى ستدير.

تقليم

repo prune [project-list]

البرقوق (يحذف) الموضوعات المدمجة بالفعل.

بداية

repo start
branch-name [project-list]

يبدأ فرعًا جديدًا للتطوير ، بدءًا من المراجعة المحددة في البيان.

و BRANCH_NAME توفر حجة وصفا موجزا للالتغيير الذي تحاول أن تجعل لهذه المشاريع. إذا كنت لا تعرف، والنظر في استخدام اسم default .

و project-list تحدد الحجة التي تشارك فيها مشاريع في هذا الفرع الموضوع.

ملاحظة: (.) فترة (أ) هو اختصار لمشروع في دليل العمل الحالي.

الحالة

repo status [project-list]

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

لمعرفة حالة من الفرع الحالي فقط، تشغيل repo status . . يتم سرد معلومات الحالة حسب المشروع. لكل ملف في المشروع ، يتم استخدام رمز مكون من حرفين.

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

رسالة المعنى وصف
- لا تغيير نفس الشيء في HEAD والفهرس
أ مضاف ليس في HEAD ، في الفهرس
م المعدل في HEAD ، تم تعديله في الفهرس
د تم الحذف في HEAD ، وليس في الفهرس
ر أعيدت تسميته ليس في HEAD ، تغير المسار في الفهرس
ج نسخ ليس في HEAD ، منسوخًا من آخر في الفهرس
تي تغير الوضع نفس المحتوى في HEAD والفهرس ، تغير الوضع
يو غير مدمج الصراع بين HEAD والفهرس ؛ الدقة المطلوبة

في العمود الثاني ، يشير حرف صغير إلى كيفية اختلاف دليل العمل عن الفهرس.

رسالة المعنى وصف
- جديد / غير معروف ليس في الفهرس ، في شجرة العمل
م المعدل في الفهرس ، في شجرة العمل ، المعدل
د تم الحذف في الفهرس ، وليس في شجرة العمل

معالجة أخطاء الريبو

git reflog

repo start branch-name

git merge commit-id

repo upload .

الخطأ repo: error: no branches ready for upload يظهر عند الأمر repo start كان لا يعمل في بداية الدورة. للاسترداد ، يمكنك التحقق من معرف الالتزام ، وبدء فرع جديد ثم دمجه.