Git Online
לכתוב, להריץ ולשתף קטעי קוד - בלי שום התקנה.
לחצו על הרצה כדי לראות את גרף ה-commits.
כל הרצה מריצה מחדש את כל הסקריפט ומצלמת את מצב המאגר אחרי כל שורה. לחצו על שלב כדי לראות את הגרף באותו רגע.
לנסות פקודות Git נפוצות
Git רץ גם בטרמינל הזה. טענו תהליך עבודה מוכן לשורת הפקודה, לחצו על הרצה כדי לראות כל פקודה מתבצעת, ואז פתחו את המדריך המלא לכל פקודה שרוצים להבין.
git initecho "hello" > app.txtgit add app.txtgit commit -m "Add app.txt"git checkout -b featureecho "new feature" >> app.txtgit commit -am "Work on feature"git checkout -git merge featuregit log --oneline --graph
git initecho "v1" > notes.txtgit add notes.txtgit commit -m "Add notes.txt"echo "v2" >> notes.txtgit commit -am "Oops, wrong message"git reset --soft HEAD~1git statusgit commit -m "Update notes.txt"git log --oneline
git initecho "# My Project" > README.mdgit add README.mdgit commit -m "First commit"git branch -M maingit init --bare remote.gitgit remote add origin remote.gitgit push -u origin maingit remote -v
git initecho "v1" > app.txtgit add app.txtgit commit -m "Add app.txt"echo "v2" >> app.txtgit commit -am "WIP"echo "v3" >> app.txtgit commit -am "More WIP"git reset --soft HEAD~2git commit -m "Finish app.txt"git log --oneline
עורך Git אונליין עם גרף commits חי
עורך Git חינמי שמריץ git אמיתי בטרמינל Linux מבודד, ולא חיקוי שלו ב-JavaScript. הקלידו פקודות בשורת הפקודה, כמו git init, git add, git commit, git branch, git merge, git rebase, git reset, לחצו על הרצה, וחלונית המאגר מציירת מחדש את גרף ה-commits, את הענפים, את HEAD ואת תיקיית העבודה אחרי כל שורה בסקריפט. זו הדרך המהירה ביותר לתרגל Git אונליין ולראות בפועל מה כל פקודה עשתה.
כל הרצה מריצה מחדש את כל הסקריפט מתיקייה ריקה ושומרת תמונת מצב של המאגר אחרי כל פקודה, כך שאפשר ללחוץ על כל שלב ולראות את הגרף בדיוק באותו רגע. commit שנשאר מאחור אחרי git reset נשאר בתמונה, בצבע דהוי, כך שביטול מראה מה הוא ביטל. אין מה להתקין, אין צורך בחשבון, ואף מאגר שלכם לא מושפע לעולם.
מה מייחד את עורך ה-Git האונליין הזה
- Git אמיתי, פלט אמיתי: סביבת הריצה מפעילה את הקובץ הבינארי המקורי של
gitעל Linux, כך שהודעות שגיאה,git log --graph,git statusוהדגלים מתנהגים כמו במחשב שלכם, בניגוד לסימולטור Git שמכיר רק את הפקודות שהמפתחים שלו מימשו. ההבדל המכוון היחיד: זהות המחבר ותאריכי ה-commits קבועים, כך שה-hashes נשארים זהים בין הרצות. - גרף commits שמתעדכן אחרי כל שורה: ענפים כנתיבים, merges כקווים מעוגלים,
HEADוכל ref כתווית על ה-commit שלו, וגם הקבצים שב-staging, שהשתנו, שלא במעקב או שבקונפליקט, כפי שהם נקראים מ-git status. לחצו על שלב כדי לחזור אחורה בהיסטוריה של הסשן. - תרגלו את הפקודות שהכי מחפשים: ביטול commit, squash של commits, rebase על main, cherry-pick, stash, פתרון קונפליקט merge ו-force-push בבטחה. טענו תהליך עבודה מוכן מהרשימה שלמטה, או פתחו כל דף במדריך פקודות Git ולחצו על "לנסות בזמן אמת".
- remotes בלי רשת: צרו מאגר bare מקומי, הוסיפו אותו כ-
origin, ותרגלו מולוgit push,git fetch,git pullו-git clone. הגרף מראה אתorigin/mainזז לצדmain. - הרצות דטרמיניסטיות: התאריכים והזהות קבועים, כך שאותו סקריפט תמיד מייצר את אותם hashes של commits. שתפו סקריפט עם חבר ללימודים ושניכם תראו את אותו גרף.
מה לנסות בעורך ה-Git האונליין
- branch ו-merge:
git checkout -b feature, בצעו עליו commit, חזרו ל-main, בצעו commit גם שם, ואזgit merge featureוצפו ב-merge commit מחבר את שני הנתיבים. - ביטול בטוח: בצעו commit שאתם מתחרטים עליו, הריצו
git reset --soft HEAD~1, וראו את ה-commit דוהה מהגרף בזמן שהשינויים שלכם חוזרים כקבצים ב-staging. אחר כך נסוgit revertוהשוו. - rebase לעומת merge: בנו את אותה היסטוריה של שני ענפים פעמיים, סיימו אחת עם
git mergeואת השנייה עםgit rebase main, והשוו את הצורה של שני הגרפים זה לצד זה. - קונפליקט merge בכוונה: שנו את אותה שורה בשני ענפים, בצעו merge, וצפו בקובץ נוחת בשורת הקונפליקטים. תקנו אותו,
git add,git commit, וראו את הקונפליקט נעלם.
שאלות נפוצות על עורך Git אונליין
עורך ה-Git האונליין הזה חינמי?
זה Git אמיתי או סימולציה?
git בתוך קונטיינר Linux מבודד, כך שהפקודות, הדגלים, הפלט והודעות השגיאה זהים למה שרואים מקומית. שני דברים נוספו בכוונה: זהות מחבר ברירת מחדל (ש-git config user.name משלכם דורס, כמו מקומית) ותאריכי commit קבועים, כדי שה-hashes של ה-commits יהיו זהים בכל הרצה. שום דבר לא יכול לבקש מכם קלט באמצע ההרצה, ולכן פקודה אינטראקטיבית כמו git rebase -i צריכה עורך שמופעל מתוך הסקריפט: הדוגמאות מראות איך.איך גרף ה-commits עובד?
HEAD, את רשימת ה-stash ואת git status. הדף מצייר את הגרף מתמונות המצב האלה: נתיב אחד לכל ענף, merges כקווים מעוגלים וכל ref כתווית. לחצו על מספר שלב כדי לראות את המאגר כפי שהיה מיד אחרי אותה שורה. בסשן ארוך מאוד, הפקודות המוקדמות נשמרות רק בסופן, ורצועת השלבים מציגה רק את המצבים שנשמרו בפועל.אפשר לתרגל כאן branching, merging ו-rebasing?
אפשר להשתמש ב-git push, pull, fetch ו-clone?
git clone https://… לא יכול להגיע לאינטרנט. צרו מאגר bare בתיקיית משנה (git init --bare remote.git), הוסיפו אותו כ-origin, ובצעו ממנו push, fetch, pull ו-clone. ענפי ה-remote-tracking מופיעים בגרף כמו שהיו מופיעים עבור GitHub.העבודה שלי נשמרת בין הרצות?
במה זה שונה מטרמינל ה-Linux האונליין?
יש קורס שמלמד Git מאפס?
git init לענפים, merges, rebases ו-remotes עם תרגילים שנבדקים, ובכל דף פקודה במדריך פקודות Git יש כפתור "לנסות בזמן אמת" שפותח את העורך הזה עם דוגמה שאפשר להריץ.