Git Worktree
עודכן לאחרונה
git worktree מאפשר למאגר אחד להחזיק כמה תיקיות עבודה בו זמנית, כל אחת על ענף אחר. במקום לשמור את העבודה עם stash כדי להחליף ענף, פותחים את הענף השני בתיקייה נפרדת: בודקים PR, מריצים hotfix או בונים ענף אחד בזמן שעורכים ענף אחר, וכולם חולקים את אותה היסטוריית .git.
נסו את הפקודות האלה בעורך האונליין של הטרמינל: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| Command | What it does |
|---|---|
git worktree add ../hotfix hotfix | פותח את hotfix בתיקייה סמוכה |
git worktree add -b new ../new | יוצר ענף ו-worktree עבורו |
git worktree list | מציג את כל ה-worktrees והענפים שלהם |
git worktree remove ../hotfix | מסיר worktree |
git worktree prune | מנקה רשומות worktree שאינן בתוקף |
דוגמה מעשית
תיקון באג ב-main בלי להפריע לענף הפיצ'ר שלכם.
| Step | Command | Result |
|---|---|---|
| 1 | git worktree add ../fix main | main פתוח ב-../fix |
| 2 | תקנו ובצעו קומיט ב-../fix | ה-hotfix הושלם ב-main |
| 3 | git worktree remove ../fix | ניקוי; ענף הפיצ'ר לא נפגע |
שאלות נפוצות על git worktree
מה זה git worktree?
worktree הוא תיקיית עבודה נוספת שמחוברת לאותו מאגר ופתוחה על ענף או קומיט אחר. הוא מאפשר להחזיק כמה ענפים פתוחים בו זמנית בתיקיות נפרדות, כשכולם חולקים היסטוריית
.git אחת, כך שאין צורך ב-stash או ב-clone כדי לעבוד על שני ענפים במקביל.איך מוסיפים worktree?
הריצו
git worktree add <path> <branch>, לדוגמה git worktree add ../hotfix hotfix. Git פותח את הענף הזה בתיקייה החדשה. כדי ליצור ענף חדש באותו זמן, השתמשו ב-git worktree add -b <newbranch> <path>.מתי כדאי להשתמש ב-worktree במקום להחליף ענף?
השתמשו בו כשהחלפת ענף תפריע: יש לכם עבודה שעוד לא נשמרה בקומיט, build ארוך שאתם לא רוצים לעצור, או צורך להשוות שני ענפים זה לצד זה. worktree נותן לכם את הענף השני בתיקייה משלו בלי לגעת בתיקייה הנוכחית.
איך מסירים worktree?
הריצו
git worktree remove <path>. אם התיקייה נמחקה ידנית, הריצו git worktree prune כדי לנקות את הרישום שאינו בתוקף. אי אפשר להסיר את ה-worktree הראשי (תיקיית המאגר המקורית), רק את הנוספים שהוספתם.אפשר לתרגל את זה אונליין?
כן. פתחו את עורך האונליין של הטרמינל כדי להריץ
git worktree ב-shell אמיתי בדפדפן, בלי להתקין כלום. קורס ה-Git האינטראקטיבי והחינמי של Coddy מכסה גם תהליכי עבודה עם ענפים צעד אחר צעד.