Що таке 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?
Section titled “Чи треба знати git?”Знати команди git не обовʼязково — wyrmflow робить усе візуально. Але оскільки jj працює поверх git, твої репозиторії повністю сумісні з GitHub, GitLab та будь-яким іншим git-хостингом.