רכיבי זרימת GitHub
ביחידה זו, אנו סוקרים את הרכיבים הבאים של זרימת GitHub:
- סניפים
- מבצע
- בקשות משיכה
- זרימת GitHub
- זרימת Git
רכיבים של GitHub Flow
לפני שניכנס לתהליכי עבודה ספציפיים ל-GitHub, כדאי להבין ש-GitHub Flow מתבסס ישירות על מושגי היסוד של Git.
Git מספק כלים למעקב וניהול שינויים בקוד שלך לאורך זמן. GitHub מתבססת על כך בכך שהיא מקלה על השימוש בכלים אלה עם תכונות כמו סניפים, התחייבויות, בקשות משיכה וממשקים חזותיים לשיתוף פעולה. נתחיל בהסתכלות על האופן שבו המושגים הללו פועלים ב-GitHub.
מהן ענפים
בסעיף האחרון, יצרנו קובץ חדש וענף חדש במאגר שלך.
סניפים הם חלק מהותי מהחוויה של GitHub. הם מאפשרים לך לבצע שינויים מבלי להשפיע על ענף ברירת המחדל.
הענף שלך הוא מקום בטוח להתנסות בתכונות או בתיקונים חדשים. אם טעית, באפשרותך להחזיר את השינויים או ללחוץ על שינויים נוספים כדי לתקן את הטעות. השינויים שלך לא יתעדכנו בענף ברירת המחדל עד למיזוג הענף.
הערה
לחלופין, באפשרותך ליצור ענף חדש ובדוק אותו באמצעות git במסוף. הפקודה תהיה git checkout -b newBranchName
מה הן תחייב
ביחידה הקודמת, הוספת קובץ חדש למאגר על-ידי דחיפת ביצוע. בוא נעיין בקצרה בפעולות התחייבות.
פעולת לבצע היא שינוי בקבצים אחד או יותר בענף. כל התחייבות נמצאת במעקב על ידי מזהה ייחודי, חותמת זמן ותורם, ללא קשר אם היא נעשית דרך שורת הפקודה או ישירות בממשק האינטרנט של GitHub. ביצוע מספקים נתיב ביקורת ברור עבור כל מי ש סוקר את ההיסטוריה של קובץ או פריט מקושר, כגון בעיה או בקשת משיכה.
אתה יכול ליצור פעולת commit באמצעות Git בטרמינל שלך עם:
git commit -m "Add a helpful commit message"
בתוך מאגר git, קובץ יכול להתקיים בכמה מצבים חוקיים בזמן שהוא עובר את תהליך בקרת הגירסאות. המדינות העיקריות עבור קובץ במאגר Git קבציםמסומנים.
קבצים שלא: מצב התחלתי של קובץ כאשר הוא עדיין אינו מהווה חלק ממאגר Git. גיט אינו מודע לקיום שלו.
מעקב: מסומן הוא קובץ ש- Git עוקב אחריו באופן פעיל. הוא יכול להיות באחד משדות המשנה הבאים:
- שינויים: מתבצע מעקב אחר הקובץ, אך הוא לא השתנה מאז ביצועו האחרון.
- שונה: הקובץ השתנה מאז ביצוע האחרון, אך שינויים אלה עדיין אינם בשלבים לביצוע הבא.
- בשלבים: הקובץ השתנה והשינויים נוספו לאזור האחסון הזמני (שנקרא גם האינדקס). שינויים אלה מוכנים למחויבות.
- מחויב: הקובץ נמצא במסד הנתונים של המאגר. הוא מייצג את הגירסה המחויבת העדכנית ביותר של הקובץ.
מצבים אלה עוזרים לצוות שלך להבין את המצב של כל קובץ והיכן הוא נמצא בתהליך בקרת הגירסאות.
מהן בקשות משיכה?
A pull request is the mechanism used to signal that the commits from one branch are ready to merged into another branch.
חבר הצוות ששולח את הבקשה משיכה בודק אחד או יותר כדי לאמת את הקוד ולאשר את המיזוג. בודקים אלה יכולים להוסיף הערות לגבי שינויים, להוסיף שינויים משלהם או להשתמש בבקשה המשיכה עצמה לדיון נוסף.
GitHub תומך גם בטיוטת בקשות משיכה, המאפשרות לך לפתוח בקשת משיכה שעדיין לא מוכנה לבדיקה.
לאחר שהשינויים אושרו (אם יש צורך), ענף המקור של בקשת המשיכה (ענף ההשוואה) ימוזג לענף הבסיס.
כעת, לאחר שראית כיצד פועלים בקשות הסתעפות, התחייבויות ומשיכה, בואו נסביר כיצד הם משתלבים ב- GitHub Flow.
זרימת GitHub
זרימת GitHub היא זרימת עבודה פשוטה שעוזרת לך לבצע ולשתף שינויים בבטחה. זה נהדר לניסוי רעיונות ושיתוף פעולה עם הצוות שלך באמצעות סניפים, בקשות משיכה ומיזוגים.
הערה
זרימת GitHub היא אחת מכמה זרימות עבודה פופולריות. אחרים כוללים זרימת Git ופיתוח מבוסס תא מטען.
כעת, לאחר שאנו יודעים את היסודות של GitHub, נוכל לעבור דרך זרימת GitHub והרכיבים שלה.
- התחל ביצירת ענף כך שהשינויים, התכונות או התיקונים שלך לא ישפיעו על הענף הראשי.
- לאחר מכן, בצע את העדכונים שלך בסניף. אם זרימת העבודה שלך תומכת בכך, באפשרותך לפרוס שינויים מענף זה כדי לבדוק אותם לפני המיזוג.
- כעת, פתח בקשת משיכה כדי להזמין משוב והתחל בסקירה.
- לאחר מכן, סקור את ההערות ובצע את כל העדכונים הדרושים על סמך המשוב של הצוות שלך.
- לבסוף, ברגע שאתה בטוח בשינויים שלך, קבל אישור ומזג את בקשת המשיכה לענף הראשי.
- לאחר מכן, מחק את הענף כדי לשמור על ניקיון המאגר שלך והימנע משימוש בענפים מיושנים.
זרימת Git
בעוד ש-GitHub Flow הוא זרימת עבודה קלת משקל המיועדת לאספקה רציפה, Git flow הוא מודל הסתעפות מובנה יותר המשמש לעתים קרובות בסביבות מונחות מהדורות. זרימת Git קיימת זמן רב יותר מ- GitHub Flow, וייתכן שעדיין תראה את המונח master בשימוש במקום main כענף ברירת המחדל.
תמונה מאת וינסנט דריסן, מתוך 'מודל הסתעפות מוצלח ב-Git'
סוגי ענפי זרימת Git
זרימת Git משתמשת במספר ענפים ארוכי חיים וזמניים:
- master: משקף תמיד קוד מוכן לייצור.
- פיתוח: מכיל את עבודת הפיתוח העדכנית ביותר עבור המהדורה הבאה.
-
תכונה/*: משמש ליצירת תכונות חדשות; הסתעף והתמזג
developבחזרה כשהושלם -
release/*: מכין מהדורת ייצור חדשה מ
develop- ; מאפשר בדיקות סופיות ותיקוני באגים קלים. -
תיקון חם/*: משמש לתיקון מהיר של בעיות ייצור; מסועף מ-
master.
כיצד פועל תהליך זרימת Git
- מפתחים יוצרים ענפי תכונות כדי
developלבנות פונקציונליות חדשה. - כשמגיע הזמן לשחרור, נוצר ענף הפצה מ
develop- . זה מבודד את עבודת ההכנה לשחרור כך שהפיתוח יכול להימשך ללא הפרעה. - ניתן להוסיף תיקוני באגים לענף ההפצה, אך תכונות עיקריות צריכות להמתין למהדורה עתידית.
- ברגע שיהיה מוכן, ענף השחרור ממוזג לתוך
masterמספר גרסה ומתויג בו. GitHub יכול להשתמש בתגים אלה כדי לעזור לך ליצור הערות שחרור. - יש למזג את אותו ענף שחרור בחזרה
developכדי לשמור עליו מסונכרן. - אם מתעורר באג ייצור קריטי, נוצר ענף תיקון חם מ
master- . לאחר התיקון, הוא מוזג לשניהםmasterוגםdevelopל-.
מתי להשתמש ב-Git flow
- מתאים ביותר לפרויקטים עם מהדורות מתוזמנות או גרסאות
- שימושי אם אתה מתחזק גרסאות ייצור מרובות (למשל, ענפי תמיכה לטווח ארוך)
- אידיאלי למחזורי פיתוח איטיים ומובנים יותר (למשל, סביבות ארגוניות או מוסדרות)
- נחשב ל"כבד משקל" יותר מ-GitHub Flow עקב ניהול סניף נוסף
הערה
זרימת Git מניחה התחייבויות מיזוג לשילוב ענפים. שימוש במיזוגי בסיס או דלעת יכול להפריע למבנה הענף ולמעקב אחר ההיסטוריה שלו.
עבור צוותים רבים המשתמשים ב- GitHub, זרימת GitHub פשוטה ומהירה יותר. אבל אם הצוות שלך מעריך יכולת חיזוי וזקוק לתכנון הפצה נוסף, זרימת Git עשויה להתאים יותר.
Congratulations! זה עתה עברת על זרימת GitHub המלאה - וחקרת כיצד Git flow מציעה חלופה מובנית לפרויקטים מונחי מהדורה.
בוא להתקדם לסעיף הבא שבו נכסה את ההבדלים בין נושאים לדיונים.