Терминальный интерфейс для Git в духе Magit: подготовка изменений, коммиты, ветки, rebase и многое другое с клавиатуры.
jj-vcs/jj
Jujutsu (jj) — совместимая с Git система контроля версий, которая записывает изменения рабочей копии как коммиты и сохраняет историю операций для их отмены.
- Звёзды
- 32,394
- Форки
- 1,279
- Открытые issues
- 1,249
- Последний коммит
- 3 часа назад
Что это?
Jujutsu — система контроля версий для программных проектов, с помощью которой можно получать копию кода, отслеживать изменения и публиковать их для других. Её CLI называется jj. По умолчанию система использует Git-репозитории для хранения данных, поэтому можно получать изменения из любого Git remote и отправлять их туда, а также в любой момент вернуться к Git.
Jujutsu воспринимает рабочую копию как полноценный коммит, поэтому команды не завершаются ошибкой из-за незакоммиченных изменений и не нужны ни stash, ни staging area. Каждая операция с репозиторием записывается в журнал операций — это позволяет отменять ошибки и возвращаться к более раннему состоянию. Конфликты хранятся внутри коммитов, а не останавливают работу. Когда коммит изменяется, его потомки автоматически перебазируются на него, а разрешения конфликтов тоже переносятся.
В проекте используются идеи из Git, Mercurial и Darcs, в том числе запросы revset и анонимные ветки. Сейчас готовым к использованию в production вариантом является Git backend. Проект ещё не достиг версии 1.0, поэтому некоторые рабочие процессы и форматы хранения данных могут измениться.
Ключевые возможности
- 01По умолчанию использует Git-репозитории для хранения данных и работает с любым Git remote.
- 02Записывает рабочую копию как коммит, поэтому staging area и stash не нужны.
- 03Ведёт журнал всех операций с репозиторием, позволяя отменять действия и возвращаться к предыдущим операциям.
- 04Хранит конфликты внутри коммитов и автоматически перебазирует потомков.
- 05Предоставляет команды для переписывания истории, например jj describe, jj diffedit, jj split и jj squash.
Сценарии использования
- Для разработчиков, которым нужен более простой рабочий процесс поверх существующего Git-репозитория.
- Для команд, которым важно восстанавливать состояние после ошибок с помощью журнала операций.
- Для хранения репозитория в папке Dropbox или его резервного копирования с помощью rsync с безопасной обработкой параллельного доступа.
Быстрый старт
- 1
Установите jj, следуя официальным инструкциям по установке, ссылка на которые есть в README
- 2
Пройдите официальный учебник, чтобы освоить основы
- 3
Используйте jj help <command>, чтобы узнать, как пользоваться любой командой
Что важно знать
- В README Jujutsu описан как экспериментальный проект: в нём могут быть ошибки, а пользовательский интерфейс может меняться.
- Для использования в production готов только бэкенд хранения Git; остальные бэкенды не готовы.
- Согласно README, проект относительно молодой, и предстоит ещё много работы.
- Некоторые функции, например безопасная параллельная репликация, помечены как экспериментальные и могут привести к изменению формата хранения.
В подборках
Темы
Частые вопросы
- Что такое jj?
- Jujutsu (jj) — совместимая с Git система контроля версий, которая записывает изменения рабочей копии как коммиты и сохраняет историю операций для их отмены. Jujutsu — система контроля версий для программных проектов, с помощью которой можно получать копию кода, отслеживать изменения и публиковать их для других. Её CLI называется jj. По умолчанию система использует Git-репозитории для хранения данных, поэтому можно получать изменения из любого Git remote и отправлять их туда, а также в любой момент вернуться к Git.
- jj можно использовать бесплатно? Какая у него лицензия?
- jj распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- jj всё ещё поддерживается?
- Активно поддерживается. Последний коммит в jj — 7 нояб. 2026 г..
- Для чего можно использовать jj?
- Для разработчиков, которым нужен более простой рабочий процесс поверх существующего Git-репозитория. Для команд, которым важно восстанавливать состояние после ошибок с помощью журнала операций. Для хранения репозитория в папке Dropbox или его резервного копирования с помощью rsync с безопасной обработкой параллельного доступа.
- Как установить jj?
- Установите jj, следуя официальным инструкциям по установке, ссылка на которые есть в README Пройдите официальный учебник, чтобы освоить основы Используйте jj help <command>, чтобы узнать, как пользоваться любой командой
- Где скачать jj?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jj-vcs/jj
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Простой терминальный интерфейс для git, который ускоряет подготовку изменений, коммиты, rebase и работу с ветками с помощью клавиатуры.
Git — быстрая распределённая система контроля версий с широким набором команд для высокоуровневых операций и низкоуровневой работы с внутренними механизмами.
Текстовый интерфейс для терминала на базе ncurses, позволяющий просматривать Git-репозитории и добавлять изменения в индекс по отдельным фрагментам.
Расширение GitHub CLI для создания, перебазирования, отправки и слияния цепочек небольших веток с pull request, удобных для ревью.
Драйвер слияния Git на уровне сущностей: объединяет код по функциям, классам и ключам, а не по строкам, предотвращая ложные конфликты независимых изменений.