治愈 Git-UX 的一个案例

主要观点:Git worktrees 很棒,但有时会落后于传统的git checkout。通过使用fzf和一些 bash 脚本可以改善 worktrees 的一些不足之处。
关键信息

  • Worktrees 可让在同一仓库中同时有多个 checkout,每个 checkout 在单独目录,如创建新工作树git worktree add -b <branch-name> <path> <from>
  • Worktrees 的不足之处包括分支跳转不方便(不能像git checkout那样直接跳转)、分支预览不直观、缺少 shell 补全功能。
  • 通过自定义函数gwj等可以利用 fzf 改善这些问题,如快速跳转到指定工作树、预览工作树的提交记录等。
    重要细节
  • 临时分支方法需创建部分非工作提交然后重置;stash 方法需记住 stash 及处理未跟踪文件等。
  • git branch -v可预览分支,而查看工作树的最近活动需额外操作。
  • gwj函数通过fzf列出工作树,选择后cd进入,还可利用--preview预览提交记录,添加--query可提前填充提示并加快筛选速度等。
阅读 14
0 条评论