Hasty Briefsbeta

双语

The Git history command deserves more attention

6 hours ago
  • #workflow
  • #version-control
  • #git
  • Git history 是 Git 中的一个新实验性功能,引入了三个子命令:fixup、reword 和 split。
  • fixup 允许暂存更改并将它们折叠到一个旧提交中,然后自动重新定位所有包含该提交的分支。
  • reword 更新旧提交的提交消息,并自动重新构建所有后续提交,而不触及工作树。
  • split 通过交互式选择代码块,将单个提交分成两个,并在其基础上重新构建提交堆栈。
  • 所有三个命令都是原子性的,通过拒绝可能导致冲突的操作来避免将树留在半损坏状态。
  • 与 jj 不同,git history 尚未将冲突处理作为一等公民,但文档表明未来可能会改变。
  • git history 提供了 jj 的许多优点,而无需完全切换工作流,并且它是核心 Git 发行版的一部分。