23 марта 2026 г. (изменено: 23 марта 2026 г.)
Канал: @cherkashindev
Если честно, после того как я научился пользоваться гитом и разобрался, что такое git checkout, git branch, git merge, git commit, я не особо копал, какие ещё там есть команды. Конечно, использовал git rebase, reflog, reset, но не более того.
И вот только на прошлой неделе узнал, что такое git worktree. Пока ещё сам не распробовал, но уже собираюсь заменить свой дополнительный клон рабочего репозитория на worktree.
Часто бывает, что нужно параллельно ковырять две ветки: в одной делать задачу, в другой срочно что-то поправить. Или быстро переключиться в ветку для ревью. Или просто посмотреть старую версию, не трогая текущее состояние.
У меня и сейчас для этого два отдельных git clone одного и того же репозитория. Работает, конечно, но clone — это всё-таки отдельный репозиторий со своим .git. То есть папок у тебя будет столько же, сколько и с worktree, но в случае с clone ещё и история с git-объектами дублируется. У меня, например, один .git весит около 4 ГБ…
А git worktree — это по сути несколько рабочих папок для одного репозитория. История и git-объекты при этом общие, а в дополнительной папке .git — это не отдельная директория, а файл-ссылка на служебные данные основного репозитория.
То есть разница такая:
git clone — отдельный репозиторий, отдельный .git, отдельная история на диске.
git worktree — ещё одна рабочая папка, но репозиторий под капотом общий.
Создаётся всё буквально одной командой:
git worktree add ../project-review mainЕсли нужна новая ветка под задачу:
git worktree add -b feature/button-fix ../project-button-fix mainДальше просто открываешь обе папки в IDE и спокойно работаешь параллельно.
Посмотреть все worktree можно так:
git worktree listУдалить так:
git worktree remove ../project-reviewПодробнее можете почитать в статье.
Узнал я об этой фиче, кстати, из Codex. Там есть специальная функция, чтобы быстро создать дополнительный worktree и работать над несколькими задачами параллельно.
👍 — если уже пользуетесь worktree
🔥 — если, как и я, держите несколько клонов одного репо
🤔 — если вам вообще нет надобности держать несколько копий одного репозитория