Перейти до вмісту

Що таке jj?

Jujutsu (команда: jj) — це система керування версіями, що використовує git як бекенд для зберігання, замінюючи видиму користувачеві модель git на чистішу й послідовнішу.

Ключові відмінності від звичайного git

Section titled “Ключові відмінності від звичайного git”
Поняття git jj
Незакомічені зміни Окрема «staging area» Не існують — правки одразу стають частиною коміта робочої копії
Вказівник гілки Рухається автоматично під час коміта Називається bookmark; ти пересуваєш його явно
Виправлення коміта git commit --amend Просто редагуй файл — jj постійно робить знімки
Скасування git reflog (вручну) jj op undo — повний журнал операцій, скасувати можна з будь-якого стану
Конфлікти Потрібно вирішити до коміта Можна закомітити й вирішити пізніше

Чому wyrmflow — рідний для jj

Section titled “Чому wyrmflow — рідний для jj”

Staging area та змінна історія git створюють тертя в графічних інструментах. Модель jj природно лягає на візуальний інтерфейс:

  • Кожен рядок журналу — справжній коміт; поняття «брудного робочого дерева» не існує.
  • Ідентифікатори змін (change ID) стабільні між rebase, тому посилання не ламаються.
  • Журнал операцій дає повну історію кожної дії, яку можна скасувати.

Знати команди git не обовʼязково — wyrmflow робить усе візуально. Але оскільки jj працює поверх git, твої репозиторії повністю сумісні з GitHub, GitLab та будь-яким іншим git-хостингом.