הוספת מאגרים לסביבת עבודה
המדריך הזה מראה כיצד לרשום עותק מקומי של Git בסביבת עבודה, לאנדקס אותו מחדש ולהסיר אותו שוב.
המאגרים מוגבלים לסביבת עבודה. אין רישום גלובלי ואין שלב קישור: הוספת מאגר והכנסתו לסביבת עבודה הם אותה פעולה בדיוק. אותו עותק מקומי שנרשם בשתי סביבות עבודה הופך לשתי שורות בלתי תלויות עם שני מזהים שונים — בין סביבות עבודה הזהות של מאגר היא הנתיב שלו במערכת הקבצים, ולעולם לא המזהה שלו.
לפני שמתחילים
קטע בשם “לפני שמתחילים”אפשר לרשום תיקייה רק אם שלושת התנאים האלה מתקיימים:
- היא נמצאת בתוך עץ עבודה של git.
- לעץ העבודה הזה מוגדר remote בשם
origin. - ה־remote
originמצביע על מארח קוד נתמך: github.com, gitlab.com או bitbucket.org.
כל דבר אחר נדחה בזמן הרישום עם הודעה מפורשת: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” או “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. אין מצב עבודה מקומי בלבד.
מארח הקוד נקרא מה־remote ונשמר על המאגר — אתם לעולם לא בוחרים אותו. סביבת עבודה יכולה להחזיק מאגרים מכל השלושה גם יחד, וכל אחד מהם מדברים איתו דרך ה־API שלו ועם פרטי הגישה שלו. מרחבי השמות המקוננים של GitLab נשמרים כפי שהם, כך ש־gitlab.com/group/subgroup/project נרשם עם הבעלים group/subgroup ושם project.
התיקייה חייבת גם לשבת על המכונה שמארחת את cc_server, בתוך אחת מספריות --repo-roots של אותו שרת. רשימת ההיתרים הזו מוגדרת כברירת מחדל לספריית הבית של משתמש השרת, וגלישה מעל אחד השורשים נדחית.
רישום עותק מקומי
קטע בשם “רישום עותק מקומי”- פתחו את הגדרות → סביבת עבודה → מאגרים (
/workspaces/<id>/settings/workspace/repositories). - לחצו על הוספת מאגר.
הדיאלוג הוא דפדפן לניווט במערכת הקבצים של השרת, ולא בשלכם. זה אותו תהליך במחשב השולחני, בדפדפן ובטלפון, כי בורר תיקיות מקורי היה בוחר תיקייה במכונה הלא נכונה.
- נווטו בין השורשים המוגדרים של השרת. תיקיות שהן עותקים מקומיים של git מסומנות.
- סמנו כמה מהן שתרצו. הבחירה נשמרת תוך כדי הניווט, כך שאפשר לאסוף עותקים מקומיים מכמה תיקיות.
- רשמו את כולם בבת אחת.
בחירה אחת שנכשלה לא מפילה את שאר הקבוצה — תקבלו את המזהים שנוצרו, ובנוסף שגיאה לכל נתיב שנדחה. רישום חוזר של נתיב שכבר קיים בסביבת העבודה הזו מחזיר את המאגר הקיים ולא יוצר כפילות.
כל מאגר שנרשם מופיע ברשימה עם ה־owner/name שלו, עם תג שמציין את מארח הקוד שלו ועם הנתיב שלו בשרת. מאגרי GitHub מציגים גם את תמונת הפרופיל של הבעלים; למארחי הקוד האחרים אין כתובת ניחושית לתמונת הפרופיל של הבעלים, ולכן הם נופלים חזרה לראשי תיבות.
לתג מארח הקוד יש משמעות בסביבת עבודה מעורבת: שני מאגרים יכולים להיקרא acme/web במארחי קוד שונים, והם מתנהגים אחרת — מה סקירה יכולה לעשות, ולאן מוביל קישור.
מה קורה אחר כך
קטע בשם “מה קורה אחר כך”הרישום מפעיל אירוע RepoAdded המוגבל לסביבת העבודה הזו, והוא בתורו מפעיל את הפייפליין index_code עבור אותו עותק מקומי. זה מה שמאכלס את גרף הקוד, כך שלחיפוש ולניתוח השפעה יש על מה להשיב.
רק קבצים שלשפה שלהם יש דקדוק מצורף עוברים אינדוקס (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB ו-Ada). ראו חיפוש קוד עם גרף הקוד.
אינדוקס מחדש של מאגר
קטע בשם “אינדוקס מחדש של מאגר”כל שורה נושאת כפתור אינדוקס קוד. לחצו עליו כדי להריץ מחדש את האינדוקס עבור אותו עותק מקומי; בזמן הריצה הכפתור הופך לתצוגת התקדמות שמראה כמה קבצים הושלמו מתוך הסך הכול, עם בקרת ביטול. כשהריצה מסתיימת הוא מתייצב על סימן אישור עם מספר הסמלים, או על אזהרה אם הריצה נכשלה.
שינוי סדר המאגרים
קטע בשם “שינוי סדר המאגרים”גררו את הידית שעל השורה. הסדר שתקבעו הוא הסדר שכל רשימת מאגרים באפליקציה תקריא.
תיקון הקישור ל-GitHub
קטע בשם “תיקון הקישור ל-GitHub”סמל הקישור שעל השורה פותח עורך עבור הבעלים ושם המאגר ב-GitHub — שימושי כששם ה־remote שונה או כשהוא הועבר לבעלות אחרת.
הסרת מאגר
קטע בשם “הסרת מאגר”- פתחו את הגדרות → סביבת עבודה → מאגרים.
- לחצו על סמל פח האשפה שעל השורה.
- אשרו את “להסיר את המאגר מסביבת העבודה?”
הדיאלוג אומר מה הוא עושה: “name יוסר מסביבת עבודה זו. הקבצים המקומיים בדיסק לא יושפעו.”
ההסרה מסירה את שורת המאגר מסביבת העבודה הזו ומוחקת במפולת את שורות גרף הקוד שלו — סמלים, קשתות, קבצים ונקודות ביקורת של אינדוקס — ובנוסף כל הרשאה למאגר שניתנה לחבר בו, את קישורי המרחב-מאגר שלו ואת רשומות העותקים המבודדים שלו. אותו עותק מקומי שנרשם בסביבת עבודה אחרת הוא שורה בלתי תלויה ואינו מושפע. עצי עבודה על הדיסק שאליהם הצביעו הרשומות האלה לא נהרסים במחיקה.