גיט היא מערכת ניהול גרסאות מבוזרת - כל עותק מקומי של המאגר מכיל את כל ההיסטוריה. מידע זה נשמר בדרך כלל בתת-תיקיה בשם ".git". גיט שומרת אובייקטים מסוג מידע (blob, בדרך כלל קובץ), עץ (tree, מבנה ספריות) וגרסה (commit).
גרסה (Commit) - כל שינוי שבוצע נחשב לצומת בגרף הראשי. שינויים אלה מכונים גרסאות הנועדו להבחין בשינויים שבוצעו ביחס לגרסה הקודמת. ניתן למזג גרסאות מענפים שונים.
ענף (Branch) - צומת משנית הנגזרת מהגרף הראשי. לדוגמה, בנינו אתר (Master) שמכיל תוספים חדשים מלבד הסטנדרטיים ולטובת תוספים אלה נפצל את הענף ראשי לאחד שעוסק בתוסף הרלוונטי.
תגית (Tag) - סימון גרסה על ידי תגית מאפשר להוסיף שם המסמל גרסה או מספר התוכנה ובנוסף הוא יכול לשמש כחתימה דיגיטלית.
מיזוג (Merge) - משמש ליצירת קובץ אחד שמוזג משתי גרסאות שונות.
במערכות הפעלה חלונות יש להיכנס לאתר הבא: https://git-scm.com/downloads ולהוריד גרסה המתאימה לחלונות.
בעת התקנת התוכנה מומלץ להחליף את עורך הטקסט ל-Nano במקום VIM.
במידה ולא אוהבים לנהל גרסאות דרך ממשק הפקודה ניתן להוריד ממשק משתמש גרפי GUI:
https://git-scm.com/download/gui/windows
לפני שנתחיל עם פקודות Git, נכיר מספר פקודות בשפת Bash שיסייעו לנו לנווט וליצור קבצים ותיקיות:
pwd: באיזה תיקייה המשתמש נמצא כעת
גרסה (Commit) - כל שינוי שבוצע נחשב לצומת בגרף הראשי. שינויים אלה מכונים גרסאות הנועדו להבחין בשינויים שבוצעו ביחס לגרסה הקודמת. ניתן למזג גרסאות מענפים שונים.
ענף (Branch) - צומת משנית הנגזרת מהגרף הראשי. לדוגמה, בנינו אתר (Master) שמכיל תוספים חדשים מלבד הסטנדרטיים ולטובת תוספים אלה נפצל את הענף ראשי לאחד שעוסק בתוסף הרלוונטי.
תגית (Tag) - סימון גרסה על ידי תגית מאפשר להוסיף שם המסמל גרסה או מספר התוכנה ובנוסף הוא יכול לשמש כחתימה דיגיטלית.
מיזוג (Merge) - משמש ליצירת קובץ אחד שמוזג משתי גרסאות שונות.
התקנת GIT:
במערכות הפעלה לינוקס יש להריץ את הפקודה הבאה בטרמינל:
apt-get install git
במערכות הפעלה חלונות יש להיכנס לאתר הבא: https://git-scm.com/downloads ולהוריד גרסה המתאימה לחלונות.
בעת התקנת התוכנה מומלץ להחליף את עורך הטקסט ל-Nano במקום VIM.

במידה ולא אוהבים לנהל גרסאות דרך ממשק הפקודה ניתן להוריד ממשק משתמש גרפי GUI:
https://git-scm.com/download/gui/windows

לפני שנתחיל עם פקודות Git, נכיר מספר פקודות בשפת Bash שיסייעו לנו לנווט וליצור קבצים ותיקיות:
clear: מנקה את המסך
ctrl + L: מנקה את המסך
exit: סוגר את הטרמינל
ls: תציג את תוכן התיקייה בה נמצא המשתמש
ls / : תציג את תוכן תיקיית הרוט
ls ~ : תציג את תוכן תיקיית הבית
ls .. : תציג את תוכן תיקיית האב של התיקייה בה המשתמש נמצא
ls -i : inode תציג את מספר ה
ls -l : תציג את תוכן התיקייה עם פרטי הרשאות וגודל בביתים
ls -lh: תציג את תוכן התיקייה עם פרטי הרשאות וגודל בצורה מוכרת
ls -la: תציג את כל תוכן התיקייה עם פרטי הרשאות גודל וקבצים מוסתרים
ls -t: תציג תוכן תיקיות לפי הזמנים שנוצרו
cd: מעבר לתיקייה אחרת
cd .. : חוזר תיקייה אחת למעלה
cd / : יוביל אל תיקיית הרוט
cd ~ : יוביל אל תיקיית הבית
cd - : יוביל אל התיקייה האחרונה שבה המשתמש היה
touch: יוצר קובץ
touch .myfile: יצירת קובץ מוסתר
mkdir: יוצר תיקייה
rmdir: מחיקת תיקייה ריקה
rm -r: מוחק את תיקיות עם קבצים
rm: מחיקת קובץ
לפקודות נוספות Bash, ניתן לבקר בעמוד פקודות לינוקס שימושיות.
להלן מספר פקודות Git ופירושן:
git --version : יציג את הגרסה המותקנת
git log : Commits יציג היסטוריית
git log --author "username": לפי משתמש Commits יציג היסטוריית
git branch : יציג את רשימת הענפים
git branch mybranch : יצירת ענף חדש
git checkout : מעבר לענף אחר
git branch -D : מחיקת ענף
git config --global user.name "כתוב כאן את שם המשתמש שלך"
git config --global user.email "כתוב כאן את כתובת הדואר האלקטרוני"
git config --list : מוודא שההגדרות של שם המשתמש והאימייל נקלטו
git init : Repository פקודה ליצירת
.git הפקודה יוצרת סט קבצים הנמצאים בתיקיה נסתרת בשם
git status : פקודה המציגה את מצב קבצי הפרויקט
Untracked files ניתן לראות את הקבצים שאינם מוכרים תחת
git add: מוסיפה את הקבצים החדשים או אלה שאינם מוכרים
git add index.html : הוספת קובץ יחיד
git add . : הוספה של כל התיקיה, שם הפקודה + נקודה
לאחר הוספת הקובץ הסטטוס יהיה Changes to be committed
git commit -m "כאן נכתוב מהו השינוי"
git commit -am "myfile" : git add תהליך מהיר ללא השלב של
git diff --staged : השוואה בין קבצים
git rm filename: מחיקת קובץ
git clone : למחשב המקומי שלנו Repository פקודה להורדת
git clone https://github.com/fabiorahamim/JavaScript.git : דוגמה לשימוש בפקודה
git pull origin master : פקודה לעדכון הקבצים שלנו מהשרת המרוחק
GitHub:
יש לפתוח Repository חדש על מנת להעביר את הקבצים המקומיים אל מאגר באתר גיטהאב.
כעת, לאחר שפתחנו Repository חדש נוסיף אותו ונתחבר אליו באמצעות הפקודות הבאות:
git remote add origin https://github.com/fabiorahamim/NewRep.git
git push -u origin master
לאחר כתיבת הפקודה השניה נדרש להזין שם משתמש וסיסמה (מזהה של המשתמש שלנו באתר גיטהאב)
סדר פעולות מהיר:
cd myfolder
touch file1.html
touch file2.js
git init
git config --global user.name 'שם משתמש'
git config --global user.email 'כתובת דואר אלקטרוני'
git add .
git status
git commit -m 'test commit'
באתר גיטהאב Repository יצירת
git remote add origin https://github.com/fabiorahamim/NewRep.git

git remote
git push -u origin master


