Top News

גיט היא מערכת ניהול גרסאות מבוזרת - כל עותק מקומי של המאגר מכיל את כל ההיסטוריה. מידע זה נשמר בדרך כלל בתת-תיקיה בשם ".git". גיט שומרת אובייקטים מסוג מידע (blob, בדרך כלל קובץ), עץ (tree, מבנה ספריות) וגרסה (commit).

גרסה (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: סוגר את הטרמינל
pwd: באיזה תיקייה המשתמש נמצא כעת
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
מה זה Metasploit?
כלי המיועד למבדקי חדירה, מכיל בתוכו מאגר נתונים ופגיעויות נגד מערכות הפעלה, מערכות אנטי וירוס ותוכנות שונות. ניצול נכון של מידע זה עשוי להוות דלת אחורית בהתחברות אל מחשב היעד.