גיט איניט: כיצד לאתחל ולהגדיר ספריית גיט

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

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

מהו Git Init?

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

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

תמונה מאת המחבר

כיצד להשתמש ב־Git Init

לפני שנכנסים לנושאים מתקדמים, חשוב להבין איך להשתמש ב־git init בפועל.

שימוש בסיסי של git init

עקוב אחר השלבים הבאים כדי ליצור מאגר Git חדש מאפס:  

  • פתח את הטרמינל שלך: הפעל את ממשק השורת פקודה המועדף עליך.
  • נווט לתיקיית הפרויקט שלך:
cd /path/to/your/project

משנה את התיקייה הנוכחית לזו שאתה רוצה לעקוב אחריה.

  • אתחל את המאגר: 
git init

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

  • וודא את מצב המאגר:
git status

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

אתחול מאגר עם פרוייקט קיים

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

  • נווטו לתיקיית הפרויקט שלכם:
cd /path/to/your/project
  • המירו את הפרויקט למאגר Git:
git init

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

  • הוסיפו את הקבצים שלכם לאיחסון (Stage): מאחר ש־git init אינו מעקב אוטומטית אחר קבצים, יש להוסיפם באמצעות:
git add .
  • שמור את הקבצים שלך: שמור את התמונה הראשונית על ידי הרצת הפקודה:
git commit -m "Initial commit"

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

הגדרת Git (אם נדרש)

אם נתקלת בשגיאה "זהות המחבר לא ידועה", זה אומר ש-Git לא מכיר אותך. כדי לתקן את זה, עליך להגדיר את זהות המשתמש שלך:

  • הגדרת מידע משתמש Git:
git config --global user.email "[email protected]" git config --global user.name "Your Name"

השימוש ב־--global מיישם את ההגדרות בכל המאגרים במחשב שלך. על פניו זה יגדיר את הזהות רק עבור המאגר הנוכחי.

  • וודא את התצורה שלך:  
git config --global user.email git config --global user.name
  • נסה לבצע את ההתחייבות שוב:  
git commit -m "First Commit"

נתקלתי בשגיאה זו כאשר התחלתי להשתמש ב-Git – הגדרת זהות פתרה אותה.

ה- commit הראשון של Git רץ בהצלחה ב-PowerShell.

מתחבר למאגר רחוק

פעם שאתה מאתחל מאגר Git מקומי, סביר שתרצה לגבות אותו או לשתף פעולה עם אחרים על ידי התחברות אל מאגר רחוק (לדוגמה, GitHub, GitLab, Bitbucket).

  • הוסף תיקיית גיבוי רחוקה: כדי לקשר את התיקייה המקומית שלך לתיקייה גיבוי רחוקה, השתמש ב:
git remote add origin <repository-url>

החלף את <repository-url> בכתובת ה-URL של התיקייה הגיבוי הרחוקה שלך. origin הוא השמות ברירת המחדל לתיקייה הרחוקה, אבל ניתן להשתמש בכל שם אחר.

  • ניתן לוודא את החיבור עם:
git remote -v
  • העלה את השינויים שלך לתיקיית הגיבוי הרחוקה:
# העלה את הקומיט הראשון ועקוב אחר הסניף הרחוק git push -u origin $(git branch --show-current) # עובד גם עבור 'main' או 'master'

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

אם אתה משתמש בגירסת Git ישנה שאינה תומכת ב־$(git branch --show-current), ניתן להשתמש בפקודה הבאה:

git push -u origin main # או 'master' בהתאם לסניף המחדל שלך

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

אימות וגישה

במידת הצורך להעלות ל־GitHub, GitLab או Bitbucket, עשוי להיות צורך באימות. בהתאם להגדרתך, ניתן לבצע:

  • השתמש ב מפתחות SSH במקום אימות HTTPS (מומלץ לצורכי אבטחה):
git remote set-url origin [email protected]:your-username/your-repo.git
  • השתמש ב אסימון גישה אישי (PAT) במקום סיסמה כאשר משתמשים ב HTTPS. עבור GitHub, החלף את הסיסמה באסימון:
git push https://[email protected]/your-repo.git

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

אפשרויות מתקדמות עם Git Init

למי שרוצה להתאים אישית את ההגדרות של Git, האפשרויות המתקדמות מספקות גמישות נוספת.

אתחול ספריית גיט חשופה

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

git init --bare <repository-name>

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

אתחול עם הגדרות מסוימות

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

git init --template=<template-directory>

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

שיטות מומלצות לשימוש ב־Git Init

להתחיל בצעד נכון עם Git יכול לחסוך לך זמן ובעיות בעתיד.

ארגון מבנה הפרויקט שלך

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

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

הוספת קובץ .gitignore מוקדם

מייד לאחר איתחול המאגר שלך, צור קובץ .gitignore כדי למנוע מעקב אחר קבצים בלתי נחוצים:

touch .gitignore

אז, ערוך אותו כדי לכלול כללים כמו:

# התעלמות מתיקיות תלות וקבצי יומן node_modules/ *.log .DS_Store # קובץ מערכת macOS Thumbs.db # קובץ מערכת Windows

שלב זה הציל אותי מהיסטוריית commit כבדות וסכסוכים עתידיים פוטנציאליים.

למדריך מפורט על כיצד להגדיר קובץ .gitignore, ראה את מדריך gitignore זה.

ביצוע קבצים בתדירות

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

פתרון בעיות נפוצות באתחול של Git

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

אתחול בטעות בתיקייה שגויה

בעיה: ביצעת git init בתיקייה הלא נכונה ועכשיו יש לך גירסת Git שאינה רצויה.

פתרון:  

  • הסר את תיקיית ה־Git:
rm -rf .git

> אזהרה: פעולה זו מוחקת את כל ההיסטוריה של התיקייה. וודא שאתה נמצא בתיקייה הנכונה לפני ביצוע הפקודה הזו!

לאחר מכן, נווט לתיקייה הנכונה והפעל מחדש את git init.

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

טיפול בקבצים שאינם מעוקבים

בעיה: לאחר הרצת git init, Git לא מעקב אחר הקבצים שלך. הרצת git status מציג:

No commits yet Untracked files: (use "git add <file>..." to include in what will be committed)

פתרון: 

  • בדוק אם הקבצים באמת לא מעוקבים:
git status

אם הקבצים שלך מופיעים תחת קבצים לא מעוקבים, Git רואה אותם אך לא מעקב אחריהם עדיין.

  • אז, עדף את הקבצים הנדרשים עם:
git add <file-name>
  • חייב את הקבצים:
git commit -m "Initial commit"

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

אם git status מראה כי אין קבצים, בדוק אם בפרויקט שלך קיים קובץ .gitignore שעשוי לא לכלול קבצים חשובים.

מסקנה

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

התחילו בקטן—אתחילו פרויקט בדיקה באמצעות git init ונסו עם סטייג'ינג, קישור והעלאת שינויים. ככל שתשלטו ביסודות של Git מוקדם יותר, העבודה שלכם תהיה יותר יעילה! ואם אתם מתרגשים להעמיק עוד יותר ביכולות ה-Git שלכם, בדקו את הקורסים הללו ב-DataCamp:

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

תהיו שמחים בכתיבת קוד – והנה לבניית פרויקטים אמינים וחדשניים באמצעות Git!

Source:
https://www.datacamp.com/tutorial/git-init