Repolode
jj-vcs

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. 1

    Установите jj, следуя официальным инструкциям по установке, ссылка на которые есть в README

  2. 2

    Пройдите официальный учебник, чтобы освоить основы

  3. 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 на уровне сущностей: объединяет код по функциям, классам и ключам, а не по строкам, предотвращая ложные конфликты независимых изменений.

1,4 тыс.+11 за неделю49RustApache-2.0Активно поддерживаетсяОбновлён 13 часов назад