Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

הפניה לפקודת ריפו

רפו משלים את Git על ידי פישוט העבודה במאגרים מרובים. ראה כלי בקרת המקור להסבר על הקשר בין רפו לגיט. לפרטים נוספים על Repo, עיין ב- REPO README .

השימוש ב- Repo לובש את הצורה הבאה:

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, שמאתחל את Repo בספריה הנוכחית. (ראה init לפרטים).

repo help init

או כדי לראות רק את רשימת האפשרויות הזמינות, הפעל:

repo command --help
לדוגמא:
repo init --help

init

repo init -u url [options]

מתקין את Repo בספריה הנוכחית. זה יוצר .repo/ ספרייה עם מאגרי Git עבור קוד המקור של Repo וקבצי המניפסט הרגילים של Android.

אפשרויות:

  • -u : ציין כתובת אתר שממנה ניתן לאחזר מאגר מניפסט. המניפסט הנפוץ נמצא בכתובת https://android.googlesource.com/platform/manifest .
  • -m : בחר קובץ מניפסט במאגר. אם לא נבחר שם מניפסט, ברירת המחדל היא default.xml .
  • -b : ציין תיקון, כלומר manifest-branch מסוים.

הערה: עבור כל פקודות ה- Repo הנותרות, ספריית העבודה הנוכחית חייבת להיות ספריית האב של .repo/ או .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 הוא branch שנמצא כעת במדריך הפרויקטים המקומי. אם הסניף המקומי אינו עוקב אחר ענף במאגר המרוחק, לא מתרחש סנכרון עבור הפרויקט.

  • אם פעולת ה- rebase של Git מביאה למזג קונפליקטים, השתמש בפקודות ה- Git הרגילות (למשל, git rebase --continue ) כדי לפתור את הקונפליקטים.

לאחר ריצה מוצלחת של repo sync , הקוד בפרויקטים שצוינו מעודכן ומסונכרן עם הקוד במאגר המרוחק.

להלן אפשרויות מפתח. ראה repo help sync לקבלת מידע נוסף:

  • -c : אחזר מהשרת רק את ענף המניפסט הנוכחי.

  • -d : החלף פרויקטים שצוינו חזרה לתיקון המניפסט. זה מועיל אם הפרויקט נמצא כרגע בענף נושא, אך יש צורך באופן זמני בתיקון המניפסט.

  • -f : המשך בסנכרון פרויקטים אחרים גם אם פרויקט נכשל בסנכרון.

  • -j threadcount : פיצול הסינכרון על פני שרשורים להשלמה מהירה יותר. הקפד לא להציף את המחשב שלך על ידי השארת מעבד כלשהו שמור למשימות אחרות. כדי לראות את מספר המעבדים הזמינים, הפעל תחילה: nproc --all

  • -q : הפעל בשקט על ידי דיכוי הודעות סטטוס.

  • -s : סנכרן לבנייה ידועה כמפורט על ידי אלמנט manifest-server המניפסט במניפסט הנוכחי.

להעלות

repo upload [project-list]

בפרויקטים שצוינו, Repo משווה את הסניפים המקומיים לסניפים המרוחקים שעודכנו במהלך סנכרון ה- Repo האחרון. Repo מבקש לבחור אחד או יותר מהסניפים שלא הועלו לבדיקה.

כל ההתחייבויות בענפים שנבחרו מועברות לאחר מכן לחריט דרך חיבור HTTPS. עליך להגדיר סיסמת HTTPS כדי לאפשר הרשאת העלאה. בקר במחולל הסיסמאות כדי ליצור שם משתמש / סיסמה חדש לשימוש באמצעות HTTPS.

כשגריט מקבל את נתוני האובייקט דרך השרת שלו, הוא הופך כל התחייבות לשינוי כך שבודקים יכולים להגיב על התחייבות ספציפית. כדי לשלב מספר התחייבויות של מחסומים להתחייבות אחת, השתמש ב- git rebase -i לפני שאתה מריץ את ההעלאה.

אם אתה מריץ repo upload ללא ויכוחים, הוא מחפש בכל הפרויקטים אחר שינויים להעלאה.

כדי לערוך שינויים לאחר git rebase -i , השתמש בכלי כמו git rebase -i או git commit --amend כדי לעדכן את ההתחייבויות המקומיות שלך. לאחר סיום העריכה שלך:

  • ודא שהסניף המעודכן הוא הסניף שנבדק כעת.
  • עבור כל התחייבות בסדרה, הזן את מזהה השינוי של חריט בתוך הסוגריים:
    # 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.
    

לאחר השלמת ההעלאה, נקבעו תיקונים נוספים לשינויים.

אם ברצונך להעלות רק את ענף Git שנבדק כעת, השתמש בדגל - --current-branch (או בקיצור --cbr ).

הבדל

repo diff [project-list]

מציג שינויים בולטים בין התחייבות לעץ העובד באמצעות git diff .

הורד

repo download target change

מוריד את השינוי שצוין ממערכת הבדיקה והופך אותו לזמין במדריך העבודה המקומי של הפרויקט שלך.

לדוגמה, כדי להוריד את שינוי 23823 לספריית הפלטפורמה / build שלך:

repo download platform/build 23823

הפעלת repo sync מסירה כל התחייבות שנמשכה עם repo download . לחלופין, תוכל לבדוק את הסניף המרוחק באמצעות git checkout m/master .

הערה: קיימים עיכובים בשכפול לכל השרתים ברחבי העולם, כך שקיים פיגור שיקופי קל בין כאשר שינוי נראה ברשת בגריט לבין repo download יכולה למצוא את השינוי לכל המשתמשים.

לכולם

repo forall [project-list] -c command

מבצע את פקודת הפגז הנתונה בכל פרויקט. משתני הסביבה הנוספים הבאים זמינים על ידי repo forall :

  • REPO_PROJECT מוגדר לשם הייחודי של הפרויקט.

  • REPO_PATH הוא הנתיב ביחס לשורש הלקוח.

  • REPO_REMOTE הוא שם המערכת המרוחקת מהמניפסט.

  • REPO_LREV הוא שם התיקון מהמניפסט, שתורגם לענף מעקב מקומי. השתמש בזה אם אתה צריך להעביר את הגרסה המניפסט לפקודת Git שבוצעה באופן מקומי.

  • REPO_RREV הוא שם התיקון מהמניפסט, בדיוק כפי שכתוב במניפסט.

אפשרויות:

  • -c : פקודה וטיעונים לביצוע. הפקודה מוערכת באמצעות /bin/sh וכל טיעונים לאחר מכן הם עוברים כפרמטרים של מיקום פגז.

  • -p : הצג כותרות פרוייקט לפני פלט הפקודה שצוינה. זה מושג על ידי קשירת צינורות לזרמי ה- stdin, ה- stdout וה- sterr של הפקודה, וצנרת כל הפלט לזרם רציף המוצג בפגישת ביפר אחת.

  • -v : הצג הודעות שהפקודה כותבת ל- stderr.

לִגזוֹם

repo prune [project-list]

שזיפים מיובשים (מוחקים) שכבר מוזגו.

הַתחָלָה

repo start
branch-name [project-list]

מתחיל ענף חדש לפיתוח, החל מהגרסה שצוינה במניפסט.

הטיעון BRANCH_NAME מספק תיאור קצר של השינוי שאתה מנסה לבצע בפרויקטים. אם אינך יודע, שקול להשתמש בשם default .

הטיעון של project-list הפרויקטים מציין אילו פרויקטים משתתפים בענף נושא זה.

הערה: נקודה (.) היא קצרה עבור הפרויקט בספריית העבודה הנוכחית.

סטָטוּס

repo status [project-list]

משווה את עץ העבודה לאזור ההיערכות (אינדקס) ואת ההתחייבות האחרונה לענף זה (HEAD) בכל פרויקט שצוין. מציג שורת סיכום עבור כל קובץ שיש הבדל בין שלוש המצבים הללו.

כדי לראות את הסטטוס של הסניף הנוכחי בלבד, הפעל את repo status . פרטי הסטטוס מפורטים לפי פרויקט. עבור כל קובץ בפרויקט משתמשים בקוד בן שתי אותיות.

בעמודה הראשונה, אות גדולה מציינת כיצד אזור ההיערכות שונה מהמדינה המחויבת האחרונה.

מִכְתָב מַשְׁמָעוּת תיאור
- ללא שינוי אותו הדבר ב- HEAD ובמדד
א נוסף לא ב- HEAD, באינדקס
M שונה ב- HEAD, שונה באינדקס
ד נמחק ב- HEAD, לא באינדקס
ר שונה שם לא ב- HEAD, הנתיב השתנה באינדקס
ג מוּעֲתָק לא ב- HEAD, הועתק מאחר באינדקס
ט המצב השתנה אותו תוכן ב- HEAD ובאינדקס, המצב השתנה
U לא מרותק סכסוך בין HEAD לאינדקס; נדרשת רזולוציה

בעמודה השנייה, אות קטנה מציינת כיצד ספריית העבודה שונה מהאינדקס.

מִכְתָב מַשְׁמָעוּת תיאור
- חדש / לא ידוע לא באינדקס, בעץ עבודה
M שונה באינדקס, בעץ העבודה, שונה
ד נמחק באינדקס, לא בעץ עבודה