8.5 בקרת גרסאות 3 גיט מרוחק הרצאה
- אחד היתרונות של גיט שאפשר לעבוד עם גיט עם שרת מרוחק, נלמד איך לעשות זאת בהרצאה הזו.
רפוזטורי מרוחק¶
- יש כמה מוצרים שמאפשרים לנו בקלות לנהל גיט מרוחק, הנה דוגמאות:
- אתר GitHub מאפשר לנו לנהל את הגיט שלנו מול האתר בחינם - דוגמה לרפו של המודול request: https://github.com/psf/requests
- אתר GitLab (עולה כסף) פתרון מעולה לניהול גיט רפו מתקדם
חיבור גיט לגיטהאב¶
- צרו משתמש גיטהאב באתר github.com,
- פתחו רפו חדש בקישור: https://github.com/new, תנו שם לrepo, תיאור ותחברו האם אתם רוצים שהרפו יהיה פרטי (גלוי רק לך), או ציבורי (גלוי לכולם)
- כדי לחבר את הגיט שלכם לrepo כתבו את הפקודה הבאה:
- שימו לב לשים את השם משתמש שלכם ואת השם של הrepo.
- ועכשיו כדי לדחוף את כל השינויים גיט הלוקליים שלכם לאתר כתבו את הפקודה:
- אם תרצו לדחוף רק branch ספציפי תוכלו לעשות זאת עם הפקודה
- תוכלו לדחוף גם רק את הbranch שאתם נמצאים בו כרגע באמצעות הפקודה:
- בגיטהאב נוכל לתת הרשאה לעוד משתמשי github לעריכה בהגדרות הפרויקט, כאשר חברנו הוסיפו קוד לrepo נרצה למשוך את השינויים, נעשה זאת באמצעות הפקודה
git pull
גיט clone¶
- נוכל להעתיק git repo אלינו למחשב באמצעות הפקודה
- במקרה הזה נעתיק את הrepo שנמצא בקישור - https://github.com/psf/requests הrepo של מפתחי המודול requests בפייתון.
שיטות עבודה טובות עם שרתי גיט¶
- הקובץ
README.md: קובץ מיוחד המכיל הסבר על ה-repo (הפרויקט), זוהי מוסכמה נפוצה שנמצאת בשימוש בכל מקום. הוסיפו תמיד קובץ כזה לפרויקט שלכם. - הקובץ
.gitignore: קובץ מיוחד המכיל רשימה של כל הקבצים בתקייה שאינך רוצה שיתווספו ל-git, למשל אנחנו לא רוצים שהתקייה-.gitיתווספו לgit שלך כי הם מכילים מידע רגיש, אז אפשר לציין את התקייה הזו בקובץ-.gitignore
דוגמה לקובץgitignore.
דברים שכדי להכיר¶
-
טרמינולוגיה: master branch = main branch - המון פעמים נראה שבrepo-ים אנשים קוראים לענף הראשי שלהם master.
-
בדרך כלל לפני מיזוג branch-ים למשל לפני מיזוג לפרודקשן, אחד מחברי הצוות שאתה מפתח איתם יצטרך לאשר לך את המיזוג זה נקרא merge request - או MR, יכול להיות גם Pull request או PR. המטרה היא שלפני פעולה חריגה כמו מיזוג קריטי לפרודקשן, נרצה שעוד מתכנת יעבור על זה.
-
סקירת קוד : סקירת קוד מתרחשת בדרך כלל בכל פעם שאנו מבצעים MR/PR, כך שחברים אחרים בצוות יכולים לבדוק שוב את הקוד שלנו לפני המיזוג.
-
סקריפטי CI CD: הם סקריפטים שנוכל לכתוב שיפעלו בכל פעם שאנו דוחפים שינויים לrepo. זה יכול לעזור לנו לבדוק את הקוד שלנו לפני העלאת שינויים, למשל אפשר להריץ טסטים או בדיקת לינטר כל פעם שנרצה לדחוף את הקוד, ואם הקוד לא עבר את הCI CD הוא לא ידחף, ובכך נוודא שהקוד שנמצא בפרודקשן הוא קוד עובד.
-
פרויקטי קוד פתוח - open source: פרויקטי git גלובליים שאנו יכולים לתרום להם, לעשות MR/PR, ולהיות מסוגלים לראות את הקוד שלהם, יש המון פרויקטים כאלה בכל העולם שקבוצת מתכנתים מתאגדת יחד כדי לבנות מוצר כזה.
-
רישיונות: פרויקטים רבים ב-GitHub מכילים קובץ רישיון המסביר אם נוכל להשתמש בפרויקט, לשנות אותו ועוד. למשל מה אם אני רוצה לכתוב פרויקט ציבורי בגיטהאב שכולם יכולים לראות את הקוד שלו אבל לא לשנות אותו? אוכל להוסיף רישיון שמציין זאת.
-
גיט fork: בדרך כלל פרויקטי קוד פתוח מאפשרים לאנשים אחרים להשתמש בפרויקט שלהם וליצור גרסה משלהם של הפרויקט, זה נקרא git fork, יש אופציה בgithub לבצע זאת.