Добавить в корзинуПозвонить
Найти в Дзене
Цифровая Переплавка

🌿 Jujutsu и рабочие пространства: как один инструмент переосмысливает многозадачность в разработке

В мире VCS есть функции, которые существуют давно, но именно новая реализация раскрывает их потенциал. Так произошло с рабочими деревьями Git — возможностью вести параллельную разработку в нескольких папках одного репозитория.
Git умел это годами, но оставался инструментом «для избранных» — тех, кто был готов держать в голове структуру ссылок, .git/worktrees, и вечно следить, какие изменения принадлежат какому дереву. И вот появляется Jujutsu (jj) — современный front-end для контроля версий, который делает старую механику неожиданно свежей, удобной и… наконец-то разработческой. ✨ Почему рабочие пространства Jujutsu ощущаются революцией Jujutsu называет свои рабочие деревья workspaces, и это не просто переименование. В отличие от Git, где создание worktree требует нескольких команд, проверки состояния и борьбы с локальными особенностями среды, здесь всё сводится к одному движению: jj workspace add ../project-alt Это похоже на момент, когда терминал получает autocompletion или редактор
Оглавление

В мире VCS есть функции, которые существуют давно, но именно новая реализация раскрывает их потенциал. Так произошло с рабочими деревьями Git — возможностью вести параллельную разработку в нескольких папках одного репозитория.
Git умел это годами, но оставался инструментом «для избранных» — тех, кто был готов держать в голове структуру ссылок, .git/worktrees, и вечно следить, какие изменения принадлежат какому дереву.

И вот появляется Jujutsu (jj) — современный front-end для контроля версий, который делает старую механику неожиданно свежей, удобной и… наконец-то разработческой.

✨ Почему рабочие пространства Jujutsu ощущаются революцией

Jujutsu называет свои рабочие деревья workspaces, и это не просто переименование. В отличие от Git, где создание worktree требует нескольких команд, проверки состояния и борьбы с локальными особенностями среды, здесь всё сводится к одному движению:

jj workspace add ../project-alt

Это похоже на момент, когда терминал получает autocompletion или редактор — поддержку LSP:
💡
возможность существовала всегда, но только правильная реализация сделала её частью естественного рабочего процесса.

Рабочие пространства Jujutsu дают разработчику ощущение лёгкости в многозадачности — когда одна задача подвисла из-за CI, код реьвью или долго выполняющихся тестов, не нужно ни стэшить, ни «грязнить» историю черновыми коммитами. Просто открываешь второй workspace и продолжаешь писать код.

🧩 В чём техническое преимущество такого подхода

То, что Jujutsu называет workspace, на деле объединяет несколько важных свойств:

🗂️ Общая история для всех рабочих пространств
Никаких отдельных клонов — всё хранится в единой DAG-структуре коммитов. Меняется только рабочее дерево.

💾 Экономия места
Второй workspace — это лишь отдельная папка с рабочими файлами, а не новый .git.
Разница особенно заметна в больших репозиториях.

🔄 Бесшовная синхронизация изменений
Так как история едина, вы можете:
— строить изменения одного workspace поверх другого
— cherry-pick’ать туда-сюда без лишней ментальной нагрузки
— не бояться «потерять» контекст задачи

📊 Граф логов с визуализацией активных workspace’ов
Команда jj log сразу показывает, какой workspace редактирует какой изменения.
Это частично заменяет идею «виртуальных веток», делая параллельные задачи более прозрачными.

Именно эта визуальная привязка к рабочему пространству меняет UX: вы не только знаете, где что происходит, вы это видите.

🪄 Почему Git так не умеет (или не хочет уметь)

Git worktrees — мощная, но глубоко «низкоуровневая» функция. Она создавалась как расширение для тех, кому действительно нужно. В результате:

  • настройка worktrees остаётся нишевой;
  • визуализация минимальна;
  • ошибки в управлении легко приводят к состояниям, которые сложно исправить.

Jujutsu же с самого начала проектировался как инструмент, который:

  • использует более современную модель истории, чем линейные ветки Git;
  • делает граф изменений центральным элементом;
  • стремится к UX, а не набору разрозненных команд.

Поэтому workspace в Jujutsu ощущается не как дополнение, а как естественный слой поверх DAG-истории изменений.

🌱 Моё мнение: Jujutsu попал в точку, где Git давно стоял на месте

Git остаётся невероятно мощным инструментом, но культурно он развивается медленно. Любое улучшение проходит через долгие обсуждения, обратную совместимость, тестирование на гигантских проектах.
Jujutsu свободен от всей этой инерции.

Он делает то, чего Git не может позволить себе в ближайшие годы:

✨ упрощает интерфейс
✨ добавляет визуализацию туда, где Git предлагает воображение
✨ превращает сложные концепции в повседневные инструменты

Рабочие пространства — всего лишь одна из таких трансформаций, но она особенно важна, потому что затрагивает многозадачность, главный навык современного разработчика.

И если Git worktrees похожи на механическую коробку передач, требующую мастерства,
то Jujutsu workspaces — это
электромобиль с одним педальным управлением, который делает прежний опыт «интересным, но необязательным».

🔗 Ссылки

Оригинальная новость и пример использования:
https://shaddy.dev/notes/jj-worktrees/

Jujutsu документация: