О серии

9 уроков от базовых операций до продвинутых инструментов. Каждый урок:

Карта серии

УрокТемаКлючевой навыкSFIA
День 0: SSHКлючи, агент, configssh -T git@github.com без пароля2
День 1: Три состоянияworking / staging / committedgit add -p вместо git add .2
День 2: Восстановлениеreflog, fsck, resetНайти потерянный коммит за 2 команды2
День 3: Ветки и mergeff vs –no-ff, конфликты, diff3Читать git log --graph3
День 4: Rebaserebase vs merge, interactive, golden ruleЧистить коммиты перед PR через rebase -i3
День 5: Hookspre-commit, commit-msg, core.hooksPathБлокировать секреты до коммита3
День 6: BisectБинарный поиск, bisect run, skipНайти регрессию среди 1000 коммитов за 10 шагов2–3
День 7: Cherry-pick и rerereТочечный перенос, память о конфликтахПеренести hotfix между ветками2–3
День 8: WorktreeПараллельные рабочие деревьяHotfix без git stash2–3
Challenge10 проблем в одном репозиторииВсе навыки серии вместе3

Порядок прохождения

Уроки выстроены последовательно: День 0 настраивает SSH, День 1 объясняет три состояния, День 2 показывает, как их восстановить. Дни 3–4 — ветвление. Дни 5–8 — продвинутые инструменты. Challenge проверяет всё вместе.

Можно начать с любого урока, но ссылки и мини-тесты предполагают знание предыдущих.

Артефакты серии

После прохождения в вашем ~/.gitconfig будут:

[alias]
    s  = status -sb
    d  = diff
    dc = diff --cached
    l  = log --oneline -10
    tree  = log --all --graph --decorate --oneline
    graph = log --all --graph --decorate --oneline
    undo  = reset --soft HEAD~1
    br = branch -vv
    rb  = rebase
    rbi = rebase -i
    rbc = rebase --continue
    rba = rebase --abort
    pick = cherry-pick --allow-empty --keep-redundant-commits
    wt  = worktree
    wta = worktree add
    wtl = worktree list
    wtr = worktree remove

[merge]
    conflictStyle = diff3
    ff = false

[pull]
    rebase = true
    ff = only

[rebase]
    autoStash = true

[rerere]
    enabled = true
    autoupdate = true

Плюс папка .githooks/ с pre-commit, commit-msg и pre-push.