תרגיל - העלאת הפרוייקט ל- GitHub
באפשרותך לייבא מאגרים ל- GitHub באמצעות מייבא GitHub, שורת הפקודה או כלי העברה חיצוניים.
אודות מייבא GitHub
אם יש לך קוד מקור ב- Subversion, כספית, Team Foundation Version Control (TFVC) או במאגר Git אחר, באפשרותך להעביר אותו ל- GitHub באמצעות מייבא GitHub. מייבא GitHub הוא כלי מייבא במהירות מאגרי קוד מקור, כולל ביצועי היסטוריית תיקונים, ל- GitHub עבורך.
במהלך ייבוא, בהתאם למערכת בקרת הגירסאות שאתה מייבא מתוכן, באפשרותך לבצע כמה מהמשימות הבאות. בצע אימות עם המאגר המרוחק שלך, עדכן את הביצוע של ייחוס מחבר, ייבא מאגרים עם קבצים גדולים או הסר קבצים גדולים אם אינך מעוניין להשתמש ב- Git Large File Storage.
| פעולת ייבוא | גירסת משנה | כספית (כספית) | TFVC | עיט (תות) |
|---|---|---|---|---|
| אימות באמצעות מאגר מרוחק | X | X | X | X |
| עדכן את הייחוס של מחבר Commit | X | X | X | |
| העברת קבצים גדולים לאחסון קבצים גדולים של Git | X | X | X | |
| הסרת קבצים גדולים מהמאגר שלך | X | X | X |
ייבוא מאגר עם מייבא GitHub
אם יש לך פרוייקט המתארח במערכת בקרת גירסאות אחרת, באפשרותך לייבא אותו באופן אוטומטי ל- GitHub באמצעות הכלי 'מייבא GitHub'. מייבא GitHub אינו מתאים לכל הייבוא. לדוגמה, אם הקוד הקיים שלך מתארח ברשת פרטית, הכלי שלנו אינו יכול לגשת אליו. במקרים אלה, מומלץ לייבא באמצעות שורת הפקודה עבור מאגרים של Git או כלי חיצוני להעברת קוד מקור עבור פרוייקטים המיובאים ממערכות אחרות של בקרת גירסאות.
אם ברצונך להתאים את הפעולות המחייבות במאגר שלך לחשבון המשתמשים של המחברים ב- GitHub במהלך הייבוא. תחילה, ודא שלכל תורם במאגר יש חשבון GitHub לפני שתתחיל בייבוא.
מאגרים וקבצים בודדים כפופים למגבלות גודל. לקבלת מידע נוסף, ראה אודות קבצים גדולים ב- GitHub.
כדי לייבא מאגר, בצע את הפעולות הבאות:
בפינה השמאלית העליונה של דף כלשהו, בחר +ולאחר מכן בחר ייבוא מאגר.
תחת "כתובת ה- URL המשוכפלת של המאגר הישן שלך", הקלד את כתובת ה- URL של הפרוייקט שברצונך לייבא.
בחר את חשבון המשתמש או הארגון שלך כדי שהמאגר יהיה בבעלותך ולאחר מכן הקלד שם עבור המאגר ב- GitHub.
ציין אם המאגר החדש צריך להיות ציבורי או פרטי. לקבלת מידע נוסף, ראה של הגדרות מאגר.
סקור את המידע שהזנת ולאחר מכן בחר התחל לייבא.
אם הפרוייקט הישן היה מוגן באמצעות סיסמה, הקלד את פרטי הכניסה שלך עבור פרוייקט זה ולאחר מכן בחר שלח.
אם קיימים פרוייקטים מרובים המתארחים בכתובת ה- URL המשוכפלת של הפרוייקט הישן, בחר את הפרוייקט שברצונך לייבא ולאחר מכן בחר שלח.
אם הפרוייקט שלך מכיל קבצים שגודלם עולה על 100 MB, בחר אם לייבא את הקבצים הגדולים באמצעות Git Large File Storageולאחר מכן בחר המשך.
כאשר המאגר מיובא באופן מלא, אתה מקבל הודעת דואר אלקטרוני.
עדכון ייחוס מחבר Commit עם מייבא GitHub
במהלך ייבוא, באפשרותך להתאים את הפעולות המחייבות במאגר שלך לחשבון GitHub של המחבר commit. מייבא GitHub מחפש משתמשי GitHub שכתובות הדואר האלקטרוני שלהם תואמות למחברי הביצוע במאגר שאתה מייבא. לאחר מכן תוכל לחבר התחברות למחבר שלו באמצעות כתובת הדואר האלקטרוני שלו או שם המשתמש של המחבר ב- GitHub.
עדכון מחברים לביצוע
בצע שלבים אלה כדי לעדכן מחבר Commit:
לאחר ייבוא המאגר, בדף מצב הייבוא, בחר התאם מחברים.
לצד המחבר שאת המידע שלו ברצונך לעדכן, בחר באפשרות התחבר.
הקלד את כתובת הדואר האלקטרוני או את שם המשתמש של המחבר ב- GitHub ולאחר מכן הקש Enter.
ייחוס מתחייב למשתמש GitHub עם כתובת דואר אלקטרוני ציבורית
אם למחבר של ביצוע במאגר המיובא שלך יש חשבון GitHub המשויך לכתובת הדואר האלקטרוני שבה הוא השתמש כדי לבצע את הביצוע, והוא אינו להגדיר את כתובת הדואר האלקטרוני לביצוע ככתובת. לאחר מכן, מייבא GitHub תואם לכתובת הדואר האלקטרוני המשויכת לאחת מכתובות הדואר האלקטרוני הציבוריות המשויכות לחשבון GitHub שלו, ומחייב את הביצוע לחשבון GitHub שלו.
ייחוס מתחייב למשתמש GitHub ללא כתובת דואר אלקטרוני ציבורית
אם מחבר הביצוע במאגר המיובא שלך אינו מגדיר כתובת דואר אלקטרוני ציבורית בפרופיל GitHub שלו, או אם כתובת הדואר האלקטרוני שלו ככתובת דואר אלקטרוני. לאחר מכן, ייתכן מייבא GitHub לא יוכל להתאים את כתובת הדואר האלקטרוני המשויכת לאי הביצוע לחשבון GitHub שלו.
מחבר ה- Commit יכול לפתור בעיה זו על-ידי הגדרת כתובת הדואר האלקטרוני שלו כפרטית. לאחר מכן, הביצועים שלהם מיוחסים ל- <username>@users.noreply.github.com, והביצועים המיובאים משויכים לחשבון GitHub שלהם.
ייחוס מתחייב באמצעות כתובת דואר אלקטרוני
אם כתובת הדואר האלקטרוני של המחבר אינה משויכת לחשבון GitHub שלו, הוא יוכל להוסיף את הכתובת לחשבון שלו לאחר הייבוא, והביצועים ייוחסו כראוי.
אם למחבר אין חשבון GitHub, מייבא GitHub מתחייב לכתובת הדואר האלקטרוני המשויכת לפעולות הביצוע.
ייבוא מאגר GitHub באמצעות שורת הפקודה
אם GitHub אינו מתאים למטרות שלך, למשל אם הקוד הקיים שלך מתארח ברשת פרטית, מומלץ לייבא באמצעות שורת הפקודה.
לפני שתתחיל, ודא שאתה יודע:
- שם המשתמש שלך ב- GitHub
- כתובת ה- URL המשוכפלת עבור המאגר החיצוני, כגון
https://external-host.com/user/repo.gitאוgit://external-host.com/user/repo.git(אולי עםuser@לפני שם התחום שלexternal-host.com)
למטרות הדגמה, אנו משתמשים ב:
- חשבון חיצוני בשם ext-user
- מארח Git חיצוני בשם
https://external-host.com - חשבון משתמש אישי של GitHub בשם ghuser
- מאגר ב- GitHub.com repo.git
בצע שלבים אלה כדי לייבא את המאגר החיצוני שלך:
צור מאגר חדש ב- GitHub. אתה מייבא את המאגר החיצוני של Git למאגר חדש זה.
הפוך עותק משוכפל "חשוף" של המאגר באמצעות כתובת ה- URL של השכפול החיצוני. בשורת הפקודה, הזן את הפקודה הבאה. פקודה זו יוצרת עותק מלא של הנתונים, אך ללא ספריית עבודה לעריכת קבצים ומבטיחה ייצוא נקי ורנון של כל הנתונים הישנים.
$ git clone --bare https://external-host.com/ext-user/repo.git #Makes a bare clone of the external repository in a local directoryדחוף את המאגר המשוכפל באופן מקומי ל- GitHub באמצעות האפשרות "שיקוף", המבטיחה שכל ההפניות, כגון הסתעפויות ותגיות, יועתקו למאגר המיובא.
$ cd repo.git $ git push --mirror https://github.com/ghuser/repo.git #Pushes the mirror to the new repository on GitHub.comהסר את המאגר המקומי הזמני.
$ cd .. $ rm -rf repo.git
הוספת קוד המתארח באופן מקומי ל- GitHub
אם יש לך קוד מקור או מאגרים קיימים המאוחסנים באופן מקומי במחשב או ברשת הפרטית שלך, באפשרותך להוסיף אותם ל- GitHub על-ידי הקלדת פקודות במסוף. על-ידי הקלדת פקודות Git ישירות, או באמצעות GitHub CLI.
GitHub CLI הוא כלי קוד פתוח לשימוש ב- GitHub משורת הפקודה של המחשב שלך. GitHub CLI יכול לפשט את התהליך של הוספת פרוייקט קיים ל- GitHub באמצעות שורת הפקודה. לקבלת מידע נוסף על GitHub CLI, ראה GitHub CLI.
הוספת מאגר מקומי ל- GitHub באמצעות GitHub CLI
בצע שלבים אלה כדי להוסיף מאגר מקומי באמצעות GitHub CLI:
בשורת הפקודה, נווט אל ספריית הבסיס של הפרוייקט.
אתחל את הספריה המקומית כמאגר Git.
git init -b mainשלב ובצע את כל הקבצים בפרוייקט שלך.
git add . && git commit -m "initial commit"כדי ליצור מאגר עבור הפרוייקט שלך ב- GitHub, השתמש
gh repo create subcommand. כאשר תתבקש, לחץ על מאגר מקומי קיים אל GitHub והזן את השם הרצוי עבור המאגר שלך. אם ברצונך שהפרוייקט שלך ישתייך לארגון במקום לחשבון המשתמש שלך, ציין את שם הארגון ואת שם הפרוייקט עםorganization-name/project-name.פעל לפי ההנחיות האינטראקטיביות. כדי להוסיף את המרוחק וללחוץ על המאגר, ודא כן כאשר תתבקש להוסיף את המרוחק וללחוץ על ההסתעפות לענף הנוכחי.
לחלופין, כדי לדלג על כל ההנחיות, ספק את הנתיב למאגר באמצעות דגל
--sourceוהוסף דגל ניראות (--public,--privateאו--internal). לדוגמה,gh repo create --source=. --public. ציין מרוחק עם--remoteהמקשים. כדי ללחוץ על הפעולות שלך,--pushבדגל. לקבלת מידע נוסף אודות ארגומנטים אפשריים, עיין במדריך GitHub CLI.
הוספת מאגר מקומי ל- GitHub באמצעות Git
בצע שלבים אלה כדי להוסיף מאגר מקומי באמצעות Git:
צור מאגר חדש ב- GitHub.com. כדי להימנע משגיאות, אל מאתחל את המאגר החדש עם README, רשיון או
gitignore files. באפשרותך להוסיף קבצים אלה לאחר שהפרוייקט שלך נדחף ל- GitHub.
פתח את Git Bash.
שנה את ספריית העבודה הנוכחית לפרוייקט המקומי.
אתחל את הספריה המקומית כמאגר Git.
$ git init -b mainהוסף את הקבצים למאגר המקומי החדש. פקודה זו גם משלבת אותם לביצוע הראשון.
$ git add . # Adds the files in the local repository and stages them for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.בצע את הקבצים בשלבים במאגר המקומי שלך.
$ git commit -m "First commit" # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.בחלק העליון של המאגר בדף ההגדרה המהירה של GitHub.com, בחר את לחצן העתק כדי להעתיק את כתובת ה- URL של המאגר המרוחק.
בשורת הפקודה, את כתובת ה- URL של המאגר. המאגר המקומי שלך נדחף למיקום זה.
$ git remote add origin <REMOTE_URL> # Sets the new remote $ git remote -v # Verifies the new remote URLדחף את השינויים במאגר המקומי שלך כדי GitHub.com.
$ git push origin main # Pushes the changes in your local repository up to the remote repository you specified as the origin
כלי העברת קוד מקור
באפשרותך להשתמש בכלים חיצוניים כדי להעביר את הפרוייקטים שלך ל- GitHub. מומלץ להשתמש מייבא GitHub פרוייקטים מ- Subversion, כספית, בקרת גירסאות של Team Foundation (TFVC) או מאגר Git אחר. ניתן גם להשתמש בכלים חיצוניים אלה כדי להמיר את הפרוייקט שלך ל- Git.
מייבא מ- Subversion
בסביבה טיפוסית של Subversion, פרוייקטים מרובים מאוחסנים במאגר בסיס יחיד. ב- GitHub, כל אחד מפרוייקטים אלה ממופה בדרך כלל למאגר Git נפרד עבור חשבון משתמש או ארגון. אנו מציעים לייבא כל חלק של מאגר המשנה שלך למאגר GitHub נפרד אם:
- משתפי פעולה צריכים להוציא חלק זה של הפרוייקט או להתחייב לו בנפרד מהרכיבים האחרים
- ברצונך שלרכיבים שונים יהיה הרשאות גישה משלהם
אנו ממליצים על כלים אלה להמרת מאגרי המשנה ל- Git:
מייבא מרקורי
אנו ממליצים hg-fast-export להמרת מאגרים כספית ל- Git.
מייבא מ- TFVC
אנו ממליצים git-tfs העברת שינויים בין TFVC ל- Git.
לקבלת מידע נוסף על המעבר מ- TFVC (מערכת בקרת גירסאות מרוכזת) ל- Git, ראה העברה ל- Git ממערכת בקרת גירסאות.