יצירת מאגר ראשון
ישנן שתי דרכים להתחיל לעבוד עם git: ליצור מאגר חדש מאפס, או לשכפל מאגר קיים מ-GitHub.
יצירת מאגר חדש - git init
# יצירת תיקייה חדשה והפיכתה למאגר
mkdir my-project
cd my-project
git init
הפלט יהיה משהו כמו:
Initialized empty Git repository in /path/to/my-project/.git/
מאותו רגע, תיקיית my-project היא מאגר git.
יצירה ישירה עם שם
git init my-project
cd my-project
הפקודה תיצור גם את התיקייה וגם תאתחל אותה.
שכפול מאגר קיים - git clone
לוקח מאגר קיים (לרוב מ-GitHub) ויוצר עותק מקומי שלו:
# שכפול עם HTTPS
git clone https://github.com/user/repo.git
# שכפול לתיקייה בעלת שם מותאם
git clone https://github.com/user/repo.git my-folder
# שכפול עם SSH (דורש מפתח SSH)
git clone [email protected]:user/repo.git
git clone עושה כמה דברים בו-זמנית:
1. יוצר תיקייה מקומית
2. מעתיק את כל ההיסטוריה
3. יוצר remote בשם origin שמצביע למקור
4. עושה checkout ל-branch הראשי
מבנה תיקיית .git/
לאחר git init או git clone, תיווצר תיקייה נסתרת בשם .git/:
.git/
├── HEAD ← מצביע ל-branch הנוכחי
├── config ← הגדרות מקומיות של המאגר
├── description ← תיאור (משמש בעיקר ל-GitWeb)
├── hooks/ ← scripts אוטומטיים
├── info/ ← מידע נוסף (כמו exclude)
├── objects/ ← כל ה-commits, trees ו-blobs
├── refs/ ← המצביעים של ה-branches וה-tags
└── logs/ ← היסטוריית שינויים של refs
⚠️ אזהרה: אסור לערוך ידנית את הקבצים בתיקיית
.git/. אם משהו ישתבש - עלולים לאבד את כל ההיסטוריה.
בדיקה שהמאגר אותחל
# הצגת ה-branch הנוכחי וסטטוס הקבצים
git status
# במאגר ריק תקבל:
# On branch main
# No commits yet
# nothing to commit
ה-commit הראשון
# יצירת קובץ
echo "# My Project" > index.md
# הוספה ל-staging
git add index.md
# commit ראשון
git commit -m "Initial commit"
מזל טוב - יש לכם מאגר עם commit ראשון.
בדקו את עצמכם
נסו לענות לבד לפני שאתם פותחים את התשובה.
-
איזו פקודה יוצרת מאגר חדש בתיקייה?
הצגת התשובה
תשובה א. git init יוצר את התיקייה הנסתרת .git.