גיט היא מערכת בקרת גרסאות מבוזרת בקוד פתוח . עכשיו זה הרבה מילים להגדרת 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 ביעילות