Hacker News Digest

Тег: #jj

Постов: 3

The git history command (lalitm.com) 🔥 Горячее 💬 Длинная дискуссия

Экспериментальная подкоманда git history, появившаяся в версиях 2.54 и 2.55, предлагает три способа переписывания истории без риска поломки дерева. fixup позволяет поправить старый коммит, включив в него подготовленные изменения, и автоматически переписать все локальные ветки, построенные на его основе, сохраняя атомарность и отказываясь от операций, которые могут вызвать конфликт. При этом она не работает с merge‑коммитами, что ограничивает применение, но открывает путь к будущим улучшениям. Это особенно ценно, когда несколько веток используют один и тот же баг‑фикс, потому что исправление автоматически поднимается по всем зависимым ветвям.

reword меняет сообщение коммита и перестраивает всё, что находится над ним, без вмешательства в индекс или рабочее дерево, позволяя править сообщения даже в удалённых ветках. split делит один коммит на два, интерактивно выбирая части изменений, что упрощает разбиение крупного коммита без сложных rebase‑ов. Обе команды сохраняют целостность истории, а их главное преимущество — возможность применять изменения к любой ветке без её проверки, что делает их практичным альтернативным инструментом, сравнимым с более новым jj, но полностью встроенным в Git. Кроме того, split позволяет интерактивно разбивать изменения на отдельные части, не требуя сложных команд git add -p.

by turbocon • 14 июля 2026 г. в 00:57 • 327 points

ОригиналHN

#fixup#git#git-history#jj#rebase#reword#split

Комментарии (189)

  • Понимание внутреннего устройства Git (например, через Pro Git) упрощает работу с rebase и другими командами.
  • Новые инструменты (git history fixup, git history split) упрощают изменение истории, но работают только без конфликтов.
  • Автоматизация ребейза и рефиксаций может привести к «поломке» дерева, поэтому важно знать способы отката (git reset --hard, git reflog).
  • Хорошо отредактированная история (одна логическая правка на коммит) облегчает поиск багов, регрессий и ревью, в отличие от полного сжатия изменений.

The lazy Git UI you didn't know you need (bwplotka.dev) 🔥 Горячее 💬 Длинная дискуссия

Автор случайно обнаружил lazygit во время экспериментов с neovim и настолько впечатлился, что полностью перешёл на него для всех git-работ. Инструмент сочетает простоту и скорость CLI с интерактивностью и наглядностью GUI, что особенно ценно для тех, кто плохо запоминает команды. По данным опроса StackOverflow 2022 года, 83% разработчиков предпочитают CLI для работы с git, но lazygit предлагает компромисс, сохраняя мощь командной строки while делая операции более доступными.

Lazygit выделяется тремя ключевыми особенностями: последовательность интерфейса, удобство навигации и интерактивность. Автор подчёркивает, что несмотря на преимущества GUI, новичкам всё равно следует изучать git CLI, так как он обеспечивает максимальный контроль и необходим для работы в средах без графического интерфейса. Инструмент идеально подходит для разработчиков, ищущих баланс между мощью командной строки и удобством визуального интерфейса.

by linhns • 10 ноября 2025 г. в 17:50 • 388 points

ОригиналHN

#cli#fork#git#gitin#gitui#gui#jj#lazygit#tig#tui

Комментарии (171)

  • Разные инструменты подходят под разные задачи: от легковесных консольных утилит вроде tig до полноценных GUI вроде SourceTree или GitKraken.
  • Некоторые участники отдают предпочтение TUI-решениям вроде lazygit, другие — полноценным GUI, а кто-то вовсе предпочитает консоль.
  • Несколько человек упомянули, что используют jj (Jujutsu) вместо Git, и что это может быть более удобным для новичков.
  • Некоторые участники поделились ссылками на инструменты, которые могут быть полезны для решения конкретных задач, таких как git-absorb для автоматического разбиения коммитов и tig для просмотра истории.
  • Были упомянуты такие инструменты, как lazygit, tig, gitui, gitin, lazygit, fork, lazygit и gitui, каждый из которых имеет свои сильные стороны и может быть полезен в различных ситуациях.

I see a future in jj (steveklabnik.com) 🔥 Горячее 💬 Длинная дискуссия

В 2012 году автор, работая с Ruby и Rails, обнаружил Rust и увидел в нём потенциал. Он оценил три ключевых фактора успеха языка: рыночную нишу (безопасность памяти без сборщика мусора как инновация в низкоуровневом программировании), команду (поддержку Mozilla) и пользователей (планы использовать Rust в Firefox). Этот подход помог ему принять решение присоединиться к проекту Rust, написать руководство "Rust for Rubyists" и в итоге войти в команду.

Сейчас автор применяет тот же анализ к jj — новой системе контроля версий, написанной на Rust. Как и в случае с Rust, он видит у jj хорошую рыночную нишу (возможность работать с Git-репозиториями для постепенного внедрения), сильную команду (Google использует jj) и растущую пользовательскую базу. На первой конференции jj создатель马丁 отметил важный аспект, хотя детали в статье не раскрываются.

by steveklabnik • 22 октября 2025 г. в 17:21 • 289 points

ОригиналHN

#git#github#google#jj#mozilla#open-source#rust#version-control

Комментарии (200)

  • Обсуждение в основном вращается вокруг того, что Git остаётся доминирующим, но jj и другие инструменты могут предложить улучшенный UX и модель данных, что делает их привлекательными для некоторых пользователей.
  • Участники обсуждали, что отсутствие интеграции с GitHub и другими платформами может быть препятствием для широкого внедрения jj.
  • Некоторые участники выразили обеспокоенность относительно того, что новые системы могут не поддерживать критические функции, такие как LFS и инструменты для работы с бинарными файлами.
  • Обсуждались также вопросы документации, обучения и поддержки сообщества, которые могут быть недостаточными для новых систем.
  • Наконец, обсуждались личные мотивации и карьерные шаги, включая влияние на открытый исходный код и его влияние на развитие инструмента.