Skip to content

Repository files navigation

Git History

基于 pomber/git-history 的定制分支,用于快速浏览 git 仓库中任意文件的历史变更,支持代码高亮和主题切换。

demo

功能特性

  • 提交历史浏览:左右滑动切换不同版本,查看文件随时间的变化
  • 删除代码展示:已删除的代码行以红色背景高亮显示,保留历史上下文
  • 新增代码高亮:新添加的代码行以绿色标记标识
  • 代码折叠:超过阈值的未变更代码块自动折叠,减少干扰,聚焦关键改动
  • 代码行号:左侧显示行号,方便定位和引用
  • 代码语法高亮:基于 Prism.js 的语法高亮,支持多种编程语言
  • 主题切换:内置 12 种代码高亮主题,涵盖暗色和亮色风格,支持运行时切换
  • 字体大小可调:通过快捷键或 UI 控件调整字体大小(10px ~ 24px)

相比上游的改动

  • 主题系统:新增 src/themes.js,内置 12 种代码高亮主题(Night Owl、Dracula、Monokai、One Dark、GitHub Dark、Nord、Oceanic Next、Material、Shades of Purple、SynthWave '84、One Light、GitHub Light),支持运行时切换
  • 代码行号:代码块左侧显示行号
  • 默认字体:默认字号从 14px 调整为 19px
  • UI 优化:调整动画、滚动条、幻灯片等组件样式

本地使用

# 安装依赖
yarn install
cd cli && npm install && cd ..

# 构建前端静态文件
REACT_APP_GIT_PROVIDER=cli yarn build
rm -rf cli/site/ && cp -r build/ cli/site/

# 启动,查看某个文件的 Git 历史
node cli/cli.js /path/to/your/file.ext

启动后会自动打开浏览器,展示该文件的历史变更记录。

设置别名(可选)

在 shell 配置文件中添加别名,方便快速调用:

fish:

alias -s githistory 'node /path/to/git-history/cli/cli.js'

bash / zsh:

alias githistory='node /path/to/git-history/cli/cli.js'

之后直接 githistory /path/to/file.ext 即可使用。

技术栈

React + CRA,依赖 Prismjsdiff 等。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages