Git 变更、Diff 与 Worktree 一屏掌握:tty7 源代码控制面板完全指南

发布时间:2026/10/14 15:25:17

Git 变更、Diff 与 Worktree 一屏掌握:tty7 源代码控制面板完全指南 【免费下载链接】tty7The terminal that outlives its window. Shells survive quitting the app, agents can drive other agents, and remote machines work the same way. Pure Rust, GPU-rendered.项目地址https://gitcode.com/gh_mirrors/tty/tty7点击查看免费下载tty7 是一款纯 Rust 编写、GPU 渲染的终端工作台terminal workbench。它的源代码控制面板Source Control Panel把 Git 变更、Diff 对比与 Worktree 多任务检出整合进同一个窗口不用在终端、编辑器和图形界面之间来回切换一屏即可 stage、commit、push 并查看代码差异。为什么要把 Git 收进「一屏」写代码时最打断心流的往往不是写代码本身而是在三个地方来回跳转在终端里敲git status/git diff满屏滚动文字切到编辑器看具体改了哪一行再切到图形界面点按钮提交、拉取tty7 的思路是把 shell 集成进窗口让 Git 状态、变更、Diff 与多任务检出都长在你正在写代码的界面旁边。核心 Git 逻辑集中在 git 模块按「问题」拆成 status / diff / log / ops 四个子模块同一个无头tty7-server也为远程工作区回答同样的问题。打开 tty7 源代码控制面板按⌘ J打开右侧面板切到Source Control标签页。它会跟随当前聚焦的面板在面板里cd到另一个仓库面板也跟着你切。面板顶部是分支下拉框下面是提交信息框和分组文件列表最底部是History历史。变更文件如何分组tty7 按 git 自己的口径把文件分成四组模型见 status.rs一条git status --porcelainv2 --branch --show-stash -uall -z就能回答全部分组含义Merge Changes冲突文件可Resolve Conflict/Mark as ResolvedStaged Changes下次 commit 将包含的内容Changes已修改但未暂存Untracked新文件每一行都带Stage / Unstage / Discard / Open Changes四个动作组标题上有Stage All、Unstage All、Discard All其中会破坏数据的操作会先弹确认。快速提交与推送在顶部信息框写好 message再选一个提交动作即可动作作用Commit提交已暂存内容Commit All全部 stage 后提交Commit (Amend)改写上一次提交先确认因为别人已有该提交需协调Commit Push提交并推送Commit Sync提交后 pull 再 push光标停在信息框时⌘ ⏎直接提交旁边还有Stash All。分支同步按钮先 pull 后 push分支还没有上游时它会改名为Publish Branch。查看提交历史与图谱展开History分组头就会打开提交图谱分支画成泳道配过滤框、Current Branch / All Branches切换底部Load more。点击某个 commit 打开详情视图——message、父提交、改动文件每个文件都能再打开成 diff。从 commit 的菜单还能Checkout Commit、Create Branch Here…、Cherry Pick、Revert Commit、Reset (Soft / Mixed / Hard)Hard 会先确认、Copy Commit SHA。图谱布局逻辑见 log.rs。 仓库处于 merge / rebase / cherry-pick 等操作中途时面板会如实提示而不是假装一切正常。打开 Diff并排还是统一从侧边栏点某行的N −M、在面板点Open Changes、或在历史详情里点文件都能打开 diff。它停靠在终端旁边和打开文件共用同一栏你正在读的终端不会被盖住Esc关闭。Toggle Unified / Side-by-Side Diff可切换两种模式是全局设置持久化为config.json里的diff_view未跟踪文件会预览内容上限 4 MB两个上限避免巨型 diff 变成漫长等待上限值触达后渲染文件数300提示「…另有 N 个文件改动到终端跑 git diff」自动折叠每文件 400 行大文件先折叠按需展开对应常量见 diff.rsMAX_RENDERED_FILES与 diff.rsAUTO_COLLAPSE_LINES。Worktree一个任务一个检出同时跑两个 agent 会争抢同一个工作树。Git worktree是解法而 tty7 把它压缩成一个对话框创建检出、让它可运行、再在里面启动 agent。在 Search Everywhere 输入New Worktree Tab…或标签右键菜单、应用菜单触发字段默认值Worktree Name未被任何分支/目录/已删 worktree 用过的新名字New Branch与名称相同可编辑Start From远程默认分支origin/main会先 fetch无远程则当前分支Start下拉Shell 或本机任一 agent默认上次用的Taskagent 的第一条消息确认后tty7 创建 worktree、拷入.worktreeinclude要求的文件、开一个 tab、先跑.tty7/setup再启动 agent。Worktree 逻辑见 worktree。.worktreeinclude与.tty7/setup新检出没有你那些 gitignored 文件.env、本地配置等。在仓库根目录的.worktreeinclude里按 gitignore 语法列出需要的即可。提交一个可执行的.tty7/setup任意语言 shebang每个新 worktree 会在 agent 启动前先跑它——装依赖放在这里而不是拷贝#!/bin/sh set -e pnpm install echo PORT$TTY7_PORT .env.local几个环境变量TTY7_ROOT_PATH主检出、TTY7_WORKTREE_PATH新 worktree、TTY7_PORT分配给该 worktree 的独立端口。TTY7_PORT由路径派生因此该处启动的 dev server 不会和兄弟 worktree 撞端口。从哪来、如何删除Worktree 落在repo/.tty7/worktrees/name下已写入.git/info/excludegit status里不会出现。关闭 worktree tab 时会询问是否一并删除干净工作树—Remove Worktree或Keep脏工作树— 需明确Discard Changes Remove删除前检出状态含未提交与未跟踪文件会存到refs/tty7/trash/name即使 discard 也能用git checkout refs/tty7/trash/name -- .找回见 worktree/mod.rs。分支只有已合并才会删除。命令行同样支持tty7 worktree new --agent claude --task fix the flaky login test tty7 worktree ls tty7 worktree rm quiet-otter侧边栏上的 Git 状态不开面板也能知道自己在哪侧边栏每一行都带该面板的分支和N −M工作树计数cd或命令结束时刷新点击计数即可打开 diff overlay。相关源码与文档模块路径Git 核心按问题拆分crates/tty7-core/src/core/git/工作树状态模型status.rsDiff 解析与上限diff.rs提交图谱log.rsGit 变更操作ops.rsWorktree 创建/回收worktree/mod.rs控制面板 UIsrc/ui/scm/源代码控制文档docs/git/source-control.mdxDiff 文档docs/git/diffs.mdxWorktree 文档docs/git/worktrees.mdx小结一个面板⌘ J→ Source Control分支、提交框、四组变更、历史齐全并跟随聚焦面板切换仓库一屏 Diff并排 / 统一可切换停靠终端旁300 文件 / 400 行双上限防卡顿一个对话框建 Worktree新建检出 装依赖 启动 agent.worktreeinclude与.tty7/setup让每个任务独立可运行随时掌握状态侧边栏N −M计数点击直达 diff把 Git 变更、Diff 与 Worktree 收进 tty7 的源代码控制面板就是让你少切一次窗、多写一行代码。赞分享【免费下载链接】tty7The terminal that outlives its window. Shells survive quitting the app, agents can drive other agents, and remote machines work the same way. Pure Rust, GPU-rendered.项目地址https://gitcode.com/gh_mirrors/tty/tty7点击查看免费下载相关推荐掌握Git让版本控制变得更简单Przydatne Aliasy Git掌握Git让版本控制变得更简单Przydatne Aliasy Git 在这个高效开发的时代利用工具提升工作效率至关重要。今天我们要向您推荐一个名为Pr开发工具终极指南OpenCode diff与patch工具使用技巧快速掌握代码变更管理终极指南OpenCode diff与patch工具使用技巧快速掌握代码变更管理 在软件开发过程中 代码变更管理 是每个开发者都必须掌握的核心技能。Open人工智能AI 应用代码智能体CLI交互助手KVOController版本控制使用Git管理代码变更KVOController版本控制使用Git管理代码变更 作为iOS和OS X开发中处理键值观察Key Value Observing, KVO的重要工具开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/14 15:25:17

Python舆情监控系统课程设计:从文本分析到可视化预测全流程

简介:这是一套面向计算机、电子信息工程、数学等专业大学生的舆情监控分析与预测系统完整项目源码,适用于课程设计、期末大作业或毕业设计参考,也可作为Python数据分析与可视化方向的实战练习素材。压缩包共118个文件,约45.23MB&a…

2026/10/14 15:25:17

大模型Function Calling实战:工具调用链路、JSON Schema与工程落地

在之前的几轮工作里,我连续接了好几个需要大模型跟外部系统联动的项目,从给客服机器人接工单系统,到让模型自己查订单物流信息,核心技术全部落在同一个点上:Function Calling。这个功能可以说是把大模型从单纯的“聊天…

2026/10/14 19:22:00

x86汇编FPU对数指令全解析:FYL2X原理与精度控制

从去年开始断断续续写这个汇编系列,到了第68部分,终于要碰FPU里的对数指令了。说实话,在网络应用、业务代码满天飞的年代,可能绝大多数程序员一辈子都不会直接写汇编,更不会碰x87浮点栈。但如果你做的是底层引导程序、…

2026/10/14 19:22:00

基于YOLOv8的持械检测:从数据标注到部署的完整实践指南

简介:基于YOLOv8的持械检测模型部署包,面向安防监控与公共安全领域的开发者、算法工程师及计算机视觉学习者,可用于视频流或图片中持刀、持枪、持棍等行为的实时识别与威胁评估。压缩包共6个文件,包含.pt与.onnx两种主流模型格式&…

2026/10/14 19:22:00

基于Springboot的智慧点餐系统设计与实现-计算机毕业设计源码+LW文档

摘 要 点餐的用户越来越多使得智慧点餐系统成为了一个必不可少的工具。智慧点餐系统旨在提供高效、准确和便捷的智慧点餐系统管理和资料服务。本文讲述了基于java语言开发,后台数据库选择MySQL进行数据的存储。该软件的主要功能是进行智慧点餐系统的管理。主要包括…

2026/10/14 19:22:00

C/C++访问MySQL实战:从C API到连接池与预处理语句

开篇:别急着写代码,先搞懂C/C访问MySQL的底层逻辑如果你接触过一段时间的MySQL开发,大概率会有这样的体会:用命令行或者图形工具操作数据库,跟用C/C代码操作数据库,完全是两个世界。命令行里一句SELECT敲下…

2026/10/14 19:22:00

OpenRig实战:将SOLIDWORKS数据接入3DEXPERIENCE平台的完整指南

接手这个项目前,我其实已经被本地的图纸管理折磨得够呛。我们团队一直用SOLIDWORKS做产品设计,常规操作就是一人一台电脑一个共享盘,改完一版存成“A柜体最终版3”,隔两天又出来一个“A柜体最终版4最终确认”。直到有次评审会&…

2026/10/14 19:16:59

Agent 开发代码片段分享

分享一个学习中的代码片段,通过火山引擎Agent Plan的API Key langchain搭建一个简单的Agent助手 代码如下: from langchain_openai import ChatOpenAI from langchain.agents import create_agent, AgentState from langchain.agents.middleware import…

2026/10/14 11:31:03

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/14 17:41:07

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/14 2:32:55

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/14 0:00:33

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:33

macOS/iOS高精度计时:mach_absolute_time原理与实战

1. 项目概述:为什么mach_absolute_time是 macOS/iOS 时间测量的“黄金标准”在 macOS 和 iOS 开发中,我见过太多人用CFAbsoluteTimeGetCurrent()或NSDate.timeIntervalSinceReferenceDate做性能打点,结果在高精度场景下被系统时钟跳变、NTP 同…

2026/10/14 0:00:33

SCORM课件演示与测试全解析:从API通信到自动化验证

简介:这是一套遵循SCORM标准的交互式课件演示与测试资源,面向E-Learning课程开发者、LMS平台测试人员及在线教学从业者,用于验证课件在不同学习管理系统中的识别、传递与跟踪能力。压缩包共28个文件,约12.07MB,以swf动…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑