מבוא ל- Git: מה זה, ואיך להשתמש בו

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

תן לי לפרק את זה ולהסביר את הנוסח:

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

מדוע יש צורך במערכת בקרת גרסאות כמו Git

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

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

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

בוא נתחיל להשתמש ב- Git עכשיו

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

הורד git

בקישור זה יש פרטים כיצד להתקין את Git במספר מערכות הפעלה:

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

ודא אם Git מותקן באמצעות הפקודה הבאה בשורת הפקודה:

git --version

צור את המאגר המקומי של Git

במחשב שלך, צור תיקיה לפרויקט שלך. בואו נקרא לתיקיית הפרויקט simple-git-demo.

היכנס לתיקיית הפרויקט שלך והוסף מאגר Git מקומי לפרויקט באמצעות הפקודות הבאות:

cd simple-git-demo git init

git initהפקודה מוסיפה מאגר Git המקומי לפרויקט.

בואו נוסיף קצת קוד קטן עכשיו

צור קובץ שנקרא demo.txtבתיקיית הפרויקט והוסף אליו את הטקסט הבא:

Initial Content

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

ביצוע והוצאת הקוד

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

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

הַצָגָה

השתמש בפקודה הבאה לביצוע הקובץ:

git add demo.txt

במקרה שתרצה להוסיף מספר קבצים אתה יכול להשתמש:

git add file1 file2 file3

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

git add .

השתמש בזהירות בזה מכיוון שהוא מוסיף את כל הקבצים והתיקיות בפרויקט שלך לאזור ההיערכות.

הַפקָדָה

השתמש בפקודה הבאה כדי לבצע את הקובץ:

git commit -m "Initial Commit"

"התחייבות ראשונית" הוא המסר המחויב כאן. הזן הודעת התחייבות רלוונטית כדי לציין אילו שינויי קוד בוצעו באותה התחייבות מסוימת.

מצב Git ויומן Git

עכשיו שנה את demo.txtהקובץ והוסף את הקטע הבא:

Initial Content Adding more Content

סטָטוּס

השתמש git statusבכדי לברר מידע לגבי אילו קבצים משתנים ואילו קבצים נמצאים באזור ההיערכות - הוא מציג גם מידע אחר, ממנו אנו יכולים להתעלם בינתיים.

השתמש בפקודה הבאה כדי לראות את הסטטוס:

git status

הסטטוס מראה demo.txtשהוא שונה ועדיין לא נמצא באזור ההיערכות.

כעת בואו נוסיף demo.txtלאזור ההיערכות ונבצע אותו באמצעות הפקודות הבאות:

git add demo.txt git commit -m "demo.txt file is modified"

עֵץ

השתמש git logכדי להדפיס את כל ההתחייבויות שבוצעו עד כה.

הפקודה המשמשת לכך היא:

git log

ביומן מופיע המחבר של כל התחייבות, תאריך ההתחייבות והודעת ההתחייבות.

ענפים

עד עכשיו לא יצרנו שום סניף בגיט. כברירת מחדל, Git מתחייב להיכנס לענף הראשי .

מהו סניף?

סניף אינו אלא מצביע על ההתחייבות האחרונה במאגר Git. אז כרגע סניף המאסטר שלנו הוא מצביע על ההתחייבות השנייה “demo.txt file is modified”.

מדוע יש צורך בסניפים מרובים?

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

בתחילה, התחייב 1 והתחייב 2 נעשו בסניף המאסטר. לאחר התחייבות 2 נוצר סניף חדש שנקרא "מבחן", והתחייבות 3 והתחייבות 4 מתווספים לענף הבדיקה.

במקביל, התחייבות 3 שונה והתחייבות 4 מתווספות לענף המאסטר. כאן אנו יכולים לראות כי לאחר התחייבות 2 נעשות שתי התפתחויות מקבילות בשני סניפים נפרדים.

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

צור סניף חדש במקומי

צור סניף חדש שנקרא test באמצעות הפקודה הבאה:

git branch test

פקודה זו יוצרת את testהענף.

אנחנו עדיין בהקשר של ענף המאסטר. על מנת לעבור test לסניף. השתמש בפקודה הבאה:

git checkout test

עכשיו אנחנו testבסניף.

תוכל לפרט את כל הסניפים המקומיים באמצעות הפקודה הבאה:

git branch

בצע כמה התחייבויות בסניף החדש

שנה על demo.txtידי הוספת קטע הקוד הבא:

Initial Content Adding more Content Adding some Content from test Branch

כעת שלב והתחייב באמצעות הפקודות הבאות:

git add demo.txt git commit -m "Test Branch Commit"

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

אתה יכול לאמת את היסטוריית ההתחייבות בסניף הבדיקה באמצעות:

git log

מיזוג

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

על מנת למזג את הקוד מענף הבדיקה לענף המאסטר, בצע את השלבים הבאים:

תחילה חזור לסניף המאסטר:

git checkout master

ואז הפעל את mergeהפקודה:

git merge test

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

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

לָרוּץ git logעכשיו ותבחין שלמאסטר יש גם 3 התחייבויות.

מאגר Git Remote

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

GitHub

כאן נשתמש ב- GitHub למאגר המרוחק.

עבור אל //github.com/ וצור חשבון.

לאחר ההרשמה לדף הבית של GitHub, לחץ על התחל פרויקט כדי ליצור מאגר Git חדש. תן למאגר שם ולחץ על "צור מאגר"

תן את השם כ git-blog-demo.

פעולה זו תיצור מאגר מרוחק ב- GitHub, וכאשר אתה פותח את המאגר, דף כמו התמונה למטה ייפתח:

כתובת האתר של המאגר היא החלק המודגש //github.com/aditya-sridhar/git-blog-demo.git

על מנת לכוון את המאגר המקומי שלך למאגר המרוחק, השתמש בפקודה הבאה:

git remote add origin [repository url]

גיט פוש

על מנת לדחוף את כל הקוד מהמאגר המקומי למאגר המרוחק, השתמש בפקודה הבאה:

git push -u origin master

זה דוחף את הקוד מענף המאגר במאגר המקומי לענף המאסטר במאגר המרוחק.

פקודות נוספות

Git Pull

git pullמשמש למשוך את השינויים האחרונים מהמאגר המרוחק למאגר המקומי. קוד המאגר המרוחק מתעדכן ברציפות על ידי מפתחים שונים, ולכן git pull הוא הכרחי:

git pull origin master

שיבוט גיט

git cloneמשמש לשיבוט מאגר מרוחק קיים למחשב שלך. הפקודה לכך היא:

git clone [repository url]

מזל טוב

עכשיו אתה יודע את היסודות של אופן השימוש ב- Git, אז המשך ולחקור עוד!

בקרוב אפרסם מאמר נוסף על מושגים מעט יותר מתקדמים של גיט. המשך לעקוב!

על הסופר

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

אתם מוזמנים ליצור איתי קשר בחשבון LinkdIn שלי //www.linkedin.com/in/aditya1811/

תוכלו לעקוב אחרי גם בטוויטר //twitter.com/adityasridhar18

האתר שלי: //adityasridhar.com/

הודעות אחרות על ידי

כיצד להשתמש ב- Git ביעילות