# Git 视图 在对话页里查看、暂存、提交并推送当前仓库的 git 变更。 [English](README.md) ![整个文件](assets/whole.png) ## 功能 在对话页的 tab 环里,紧跟「轨迹」之后多一个 **Git**。它读的就是会话所在的那个 仓库 —— 不用配路径,不用另开一个界面。 - **工作区里的每个项目** —— 工作目录周围的各个仓库,各有各的分支、标记和提交。提交 永远只发生在一个仓库里,不跨仓库。没有待处理变更的项目折成一行,让你正在改的那几个 一直留在屏幕上。 - **分组展示变更** —— 冲突、已暂存、未暂存、未跟踪。目录行能整棵折叠,也能整棵 暂存或丢弃。 - **三种看法** —— 整个文件(标出改动处)、只看变动(unified diff)、并排。选过的 会被记住。 - **编辑保存** —— 在面板里改工作区文件并写回,保存时用读取时的版本号做校验。 - **分支、贮藏、拉取、同步** —— 以及刷新和丢弃。 - **提交与推送** —— 根据暂存内容生成提交信息;提交和推送分成两个按钮;推送前会先 列出将要发布的每一条提交。 ![只看变动](assets/changes.png) 未跟踪目录默认折叠,点开才向 git 询问那一个目录。所以一个有两万个未跟踪文件的工作区, 和只有二十个的,列出来的代价一样。 嵌在另一个仓库里的仓库,不会作为文件夹出现在父仓库的文件列表里 —— git 不允许父仓库 描述它内部的内容,点开也只会是空的。它出现在项目列表里。 ## 安装 需要 dsh 0.2.0-rc.2 或更新版本、Node 22.19+ 或 24+,以及一个工作目录是 git 仓库的会话。 市场里直接能找到它。手动安装的话两条路都行: ```sh # 预构建包,不用再批准构建脚本 dsh plugin --profile add https://github.com/shinchen6/dsh-git-view/releases/latest/download/dsh-git-view.tgz # 或者从源码构建 dsh plugin --profile add shinchen6/dsh-git-view ``` 然后重启该 profile,在对话里打开 **Git** tab。 ## 截图 推送前先看清楚要发出去什么。 ![推送确认](assets/push.png) 提交框可以从右上角的控件放大。 ![放大的提交框](assets/bar.png) ## 许可证 [Apache-2.0](LICENSE)