הקמה והגדרות ⤢ git configקובעים שם, אימייל או עורך פעם אחת לכל המאגרים. git config --global user.name "Ada" ⤢ git config --global aliasמגדירים קיצור לפקודה שמקלידים לעיתים קרובות. git config --global alias.co checkout ⤢ git initיוצרים מאגר חדש בתיקייה הנוכחית. git init ⤢ git cloneמעתיקים מאגר מרוחק אל המחשב שלכם. git clone git@github.com:org/repo.git ⤢ git clone --depthמעתיקים רק את ה־commitים החדשים ביותר של ענף אחד. git clone --depth 1 --single-branch git@github.com:org/repo.git יסודות ה־snapshot ⤢ git statusמציגים מה מסומן ל־commit, מה שונה ומה לא במעקב. git status -sb ⤢ git addמוסיפים שינויים ל־staging כדי שיכנסו ל־commit הבא. git add src/app.ts ⤢ git add -pסוקרים שינויים חלק־חלק ומוסיפים ל־staging רק את מה שמאושר. git add -p src/app.ts ⤢ git add -uמוסיפים ל־staging שינויים בכל הקבצים שבמעקב בלי להוסיף קבצים חדשים. git add -u ⤢ git commitרושמים את השינויים המסומנים כ־commit חדש. git commit -m "fix: null check" ⤢ git commit --amendמחליפים את ה־commit האחרון בגרסה מתוקנת. git commit --amend -m "fix: handle empty input" ⤢ git diffמציגים שינויים שלא נוספו ל־staging, או כאלה שכן עם --staged. git diff --staged ⤢ git diff HEADמציגים כל שינוי מאז ה־commit האחרון, ב־staging או לא. git diff HEAD ענפים ומיזוג ⤢ git branchמציגים, יוצרים או מוחקים ענפים. git branch feature-x ⤢ git branch -dמוחקים ענף שמוזג (-D מכריח מחיקה, -a מציג את כל הענפים). git branch -d feature-x ⤢ git switchעוברים בין ענפים (המחליף המודרני של checkout). git switch feature-x ⤢ git switch -cיוצרים ענף חדש ועוברים אליו בצעד אחד. git switch -c feature-x ⤢ git checkoutעוברים בין ענפים או משחזרים קבצים (הפקודה הוותיקה והרחבה יותר). git checkout feature-x ⤢ git mergeמכניסים את השינויים של ענף אחר לענף הנוכחי. git merge feature-x ⤢ git merge --abortמבטלים מיזוג עם התנגשויות ומחזירים את הענף למצבו הקודם. git merge --abort ⤢ git rebaseמריצים מחדש את ה־commitים של הענף הנוכחי מעל ענף אחר. git rebase main ⤢ git rebase -iמאחדים, מסדרים מחדש או עורכים commitים בזמן ההרצה מחדש. git rebase -i main ⤢ git cherry-pickמעתיקים commit בודד מענף אחר אל הענף הזה. git cherry-pick a1b2c3d ⤢ git tagמתייגים commit בתווית קריאה, כמו מספר גרסה. git tag -a v1.2.0 ⤢ git worktreeמוציאים (checkout) ענף אחר בתיקייה נפרדת במקביל. git worktree add ../repo-feature feature-x בחינת היסטוריה ⤢ git logמדפדפים בהיסטוריית ה־commitים. git log --oneline --graph --decorate ⤢ git log --allמדפדפים בהיסטוריה מכל הענפים, לא רק הנוכחי. git log --oneline --graph --all ⤢ git showמציגים את ה־diff וההודעה המלאים של commit אחד. git show HEAD ⤢ git blameמציגים מי שינה לאחרונה כל שורה בקובץ. git blame src/app.ts ⤢ git reflogמציגים כל commit שאליו הצביע HEAD, כולל כאלה שנזרקו. git reflog ⤢ git bisectמחפשים בהיסטוריה בשיטת חלוקה לחצאות את ה־commit ששבר משהו. git bisect start ⤢ git shortlogמסכמים commitים לפי מחבר. git shortlog -sn ⤢ git describeקוראים ל־commit הנוכחי לפי מספור מהתג הקרוב ביותר. git describe --tags עבודה משותפת מול remote ⤢ git remoteמציגים או מוסיפים מאגרים מרוחקים. git remote add origin <url> ⤢ git remote -vמציגים את ה־remoteים עם כתובות ה־fetch וה־push שלהם. git remote -v ⤢ git fetchמורידים שינויים מרוחקים בלי לגעת בענפים שלכם. git fetch origin ⤢ git fetch --pruneמורידים שינויים מרוחקים ומנקים הפניות לענפים מרוחקים שנמחקו. git fetch --prune ⤢ git pullמביאים וממזגים את השינויים המרוחקים של הענף הנוכחי. git pull --rebase ⤢ git pushשולחים commitים מקומיים אל ה־remote. git push -u origin feature-x ⤢ git push --force-with-leaseדורסים את הענף ב־remote, אבל רק אם אף אחד לא שלח קודם. git push --force-with-lease origin feature-x ביטול שינויים ⤢ git restoreזורקים שינויים ב־working tree, או מוציאים אותם מה־staging. git restore src/app.ts ⤢ git restore --stagedמוציאים קובץ מה־staging ומשאירים את העריכות ב־working tree. git restore --staged src/app.ts ⤢ git resetמזיזים את קצה הענף הנוכחי ולפי בחירה גם את האינדקס. git reset --hard HEAD~1 ⤢ git revertמוסיפים commit חדש שמבטל commit קודם (בטוח לשיתוף). git revert HEAD ⤢ git cleanמוחקים קבצים ותיקיות שאינם במעקב. git clean -fd הצדה (stash) ⤢ git stashשומרים עבודה שלא בוצעה כ־commit ומאפסים את ה־working tree. git stash -u ⤢ git stash listמציגים כל stash ששמרתם. git stash list ⤢ git stash applyמחילים stash מחדש ומשאירים אותו ברשימה. git stash apply stash@{1} ⤢ git stash dropמוחקים stash שכבר לא צריכים. git stash drop stash@{1} ⤢ git stash popמחילים את ה־stash החדש ביותר ומוחקים אותו. git stash pop קבצים ותת־מודולים ⤢ git mvמעבירים או משנים שם לקובץ ומוסיפים את השינוי ל־staging. git mv old.ts src/new.ts ⤢ git rmמוחקים קובץ ומוסיפים את המחיקה ל־staging. git rm src/old.ts ⤢ git submoduleעוקבים אחר מאגר אחר כתיקייה בתוך המאגר הזה. git submodule add git@github.com:org/lib.git lib ⤢ git sparse-checkoutמוציאים רק את התיקיות שנקבו בשמן ממאגר גדול. git sparse-checkout set src docs ⤢ git archiveמייצאים את העץ של commit כקובץ tar או zip. git archive -o repo.zip HEAD