news.volyx.in

The git history command (lalitm.com)

455 points by turbocon · 45 days ago · 313 comments on HN

Article summary

The article discusses the git history command, an experimental feature in recent versions of git, which provides a safer and more user-friendly way to manage commit history. It includes three subcommands: fixup, reword, and split, which allow users to modify commits without leaving the tree in a half-broken state. The author argues that this feature addresses some of the pain points of using git, particularly when working with multiple changes in parallel. The git history command is seen as a step forward in making git more accessible, although it does not fully replace other tools like jj.

Main themes

  • git history command
  • commit management
  • git usability
  • alternative tools
  • version control
  • git workflow

What commenters say

  • The git history command is a useful addition to git, providing a safer way to manage commit history, but it may not be as powerful as other tools like jj.
  • Some users prefer to use interactive rebase instead of the git history command, as it provides more control over the commit history.
  • Git's UX can be improved, and the git history command is a step in the right direction, but it still has limitations, such as not handling conflicts well.
  • Understanding git's conceptual model and abstractions is key to using it effectively, and complaints about git's UX often stem from a lack of understanding.
  • The git history command's limitations, such as not handling conflicts, may be a dealbreaker for some users, but it is still a useful tool for common use cases.
  • Git's reflog and other features can be used to recover from mistakes made during rebasing, making it less scary to use.
  • Some users find git's UX to be unpleasant, even when they understand how it works, and the git history command does not fully address these issues.
  • The git history command's atomicity, which prevents it from leaving the tree in a half-broken state, is a major advantage over other git commands.