פרסומת

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

היום אדבר על תוכנת בקרת גרסאות קוד פתוח בשם Git. זה מאפשר ליותר מאדם אחד לעבוד בבטחה על אותו פרויקט מבלי להתערב זה בזה, אבל זה כל כך הרבה יותר מזה.

מדוע להשתמש בתוכנת בקרת גרסאות?

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

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

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

instagram viewer

תוכנת בקרת גרסאות

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

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

גיט עובד באופן ספציפי על ידי צילום "תמונות" של קבצים; אם קבצים נשארים ללא שינוי בגירסה מסוימת, הם פשוט מקשרים לקבצים הקודמים - זה שומר על הכל מהיר ורזה.

זה עשוי לעניין אותך גם ללמוד שגית משמשת לניהול ופיתוח גרעין לינוקס הליבה - אבן הבניין הבסיסית עליה נבנים כל מחוזות הלינוקס.

בקרת גרסאות

מה זה גיתוב?

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

בקרת גרסאות

מזלגות וסניפים

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

בטח שמעת את העבודה "מזלג" כשאתה מתמודד עם מחוזות לינוקס. אם אתה מכיר את אפליקציית מרכז המדיה Plex, תדע שהיא במקור הייתה מזלג של הקוד הפתוח הדומה מרכז המדיה של Xbox Aeon Nox 3.5: נושא יפהפה להתאמה אישית עבור XBMCהגדר את מרכז המדיה שלך בדיוק כמו שאתה רוצה אותו. Aeon Nox 3.5 הוא הגרסה העדכנית ביותר למה שהוא אולי הנושא הטוב ביותר ל- XBMC, וזה שילוב נדיר: יפה ... קרא עוד . זה פשוט אומר שבשלב מסוים בעבר, חלק מהמפתחים לקחו את הקוד של XBMC, והחליטו ללכת עם עצמם בדרכם; זה הפך להיות מורכב.

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

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

להלן תרשים נהדר של זרימת עבודה לדוגמה מאת וינסנט דרייסן:

תוכנת בקרת גרסאות

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

האם אתה מפתח מנוסה עם ניסיון בגית? אתה רק מתחיל לחשוב שאתה רוצה לצאת? תישמע בתגובות!

ג'יימס הוא בעל תואר ראשון בבינה מלאכותית, והוא מוסמך CompTIA A + ו- Network +. הוא המפתח הראשי של MakeUseOf, ומבלה את זמנו הפנוי במשחקי פיינטבול VR ומשחקי לוח. הוא בנה מחשבים אישיים מאז שהיה ילד.