Git Checkout
עודכן לאחרונה
git checkout היא הפקודה הקלאסית לתנועה בתוך המאגר: מעבר בין ענפים, יצירת ענף עם -b, מעבר לקומיט מסוים או שחזור קובץ. היא עושה הרבה, ולכן גרסאות Git חדשות פיצלו את התפקידים שלה ל-git switch (ענפים) ול-git restore (קבצים). שני הסגנונות עדיין עובדים.
נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| פקודה | מה היא עושה |
|---|---|
git checkout main | מעבר לענף קיים |
git checkout -b feature | יצירת ענף חדש ומעבר אליו |
git checkout <hash> | מעבר לקומיט מסוים (detached HEAD) |
git checkout -- file.txt | ביטול שינויים בקובץ (שחזור שלו) |
git checkout main -- file.txt | שחזור קובץ אחד מענף אחר |
checkout מול switch מול restore
| משימה | ישן (checkout) | מודרני |
|---|---|---|
| מעבר ענף | git checkout main | git switch main |
| יצירה + מעבר | git checkout -b x | git switch -c x |
| ביטול שינויים בקובץ | git checkout -- f | git restore f |
שאלות נפוצות על git checkout
מה git checkout עושה?
הוא מזיז אתכם בתוך המאגר. לרוב הוא עובר בין ענפים (
git checkout main), אבל הוא יכול גם ליצור ענף (-b), לעבור לקומיט מסוים או לשחזר קובץ לגרסה קודמת. מכיוון שהוא עושה כמה עבודות שונות, Git המודרני הציג את git switch ואת git restore כדי לפצל אותן.מה ההבדל בין git checkout לבין git switch?
git switch היא פקודה חדשה וממוקדת שרק עוברת בין ענפים (ועם -c גם יוצרת אותם): ברורה יותר וקשה יותר להשתמש בה לא נכון. git checkout עושה את זה וגם משחזר קבצים ועובר לקומיטים. לעבודה עם ענפים, git switch main ו-git checkout main שקולות; השתמשו במה שהצוות שלכם מעדיף.איך עוברים לקומיט מסוים?
הריצו
git checkout <hash>. זה מכניס אתכם למצב "detached HEAD": אתם רואים את הקומיט הזה אבל לא נמצאים על אף ענף. כדי לשמור עבודה משם, צרו ענף: git switch -c newbranch. כדי לחזור, עברו שוב לענף עם git switch main.איך מבטלים שינויים בקובץ עם checkout?
הריצו
git checkout -- file.txt כדי לזרוק שינויים בקובץ שלא נשמרו בקומיט ולשחזר את הגרסה האחרונה שנשמרה. ב-Git מודרני המקבילה הברורה יותר היא git restore file.txt. שתיהן מוחקות את העריכות שלכם, אז ודאו שאתם לא צריכים אותן.אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ
git checkout ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד עבודה עם ענפים ומעבר ביניהם צעד אחר צעד.