Tower 是一款为 macOS 平台设计的强大且优雅的 Git 图形化客户端。它旨在让开发者、设计师和团队更高效、更直观地管理 Git 仓库,将复杂的命令行操作转化为清晰的可视化界面,同时保留了 Git 的全部威力。无论是提交代码、管理分支、处理合并冲突,还是与远程仓库协作,Tower 都提供了流畅的体验。
一、核心界面与工作区详解
Tower 的主界面设计简洁明了,主要分为以下几个核心区域:
- 侧边栏(左侧):
- 仓库列表: 显示所有已添加的本地 Git 仓库。您可以在此快速切换项目。
- 仓库视图选择器: 位于侧边栏顶部,用于在 工作副本、分支、远程、子模块 等不同视图间切换。
- 主内容区(中部):
- 文件状态区: 在“工作副本”视图下,此处显示所有已修改、新增或删除的文件。文件按状态分组(未暂存、已暂存),并配有清晰的图标和颜色标识。
- 提交历史区: 在“分支”或“历史”视图下,以时间线形式清晰展示提交记录、分支图谱、标签及合并信息。
- 差异对比视图: 选中任意文件或提交时,下方或右侧面板会显示详细的代码差异(Diff),高亮显示行内更改。
- 工具栏(顶部):
- 包含最常用的操作按钮,如 拉取(Pull)、推送(Push)、提交(Commit)、分支(Branch)、合并(Merge) 等。
- 集成了强大的 搜索框,可快速查找提交、文件、分支。
- 信息面板(右侧/底部):
- 显示当前选中项目的详细信息,如提交信息、作者、日期、更改的文件列表等。
- 在提交时,此区域会变为提交信息输入框和操作按钮。
二、完整操作流程:从项目到导出
1. 创建/打开项目
方法:
- 打开现有本地仓库: 点击菜单栏 文件(File) → 添加本地仓库(Add Local Repository)… 或使用快捷键
⇧⌘O,然后选择包含.git文件夹的目录。 - 克隆远程仓库: 点击菜单栏 文件(File) → 克隆远程仓库(Clone Remote Repository)… 或使用快捷键
⌘O。在弹出的窗口中输入远程仓库 URL(如 GitHub、GitLab 链接),选择本地保存路径,点击“克隆”。 - 创建新仓库: 点击菜单栏 文件(File) → 新建仓库(New Repository)… 或使用快捷键
⌘N。指定本地目录并初始化。
2. 日常修改与提交
操作步骤:
- 在侧边栏选择目标仓库,确保主视图处于 工作副本(Working Copy) 模式。
- 所有更改的文件会出现在主内容区。您会看到两个区域:“未暂存的更改”和“已暂存的更改”。
- 暂存更改: 选中要提交的文件,点击文件右侧的“+”号按钮,或直接拖拽文件到“已暂存的更改”区域,或使用快捷键
⌘⇧A。要暂存全部更改,可点击“未暂存的更改”标题栏右侧的“全部暂存”按钮。 - 编写提交信息: 在右侧的信息面板(或底部的提交框)中,填写简明扼要的“摘要”和更详细的“描述”。
- 执行提交: 点击右下角的 提交(Commit) 按钮或使用快捷键
⌘⏎。提交成功后,更改会从工作区消失,并出现在提交历史中。
3. 分支管理与同步
操作步骤:
- 切换分支: 在侧边栏切换到 分支(Branches) 视图。双击目标分支即可快速检出。
- 创建新分支: 在“分支”视图,点击右上角的 新建分支(New Branch) 按钮或使用快捷键
⌘B。输入分支名,通常基于当前分支创建。 - 拉取远程更新: 点击工具栏的 拉取(Pull) 按钮或使用快捷键
⌘⇧P。Tower 会自动获取远程变更并合并到当前分支。 - 推送本地提交: 完成提交后,点击工具栏的 推送(Push) 按钮或使用快捷键
⌘⇧U,将本地提交上传到远程仓库。
4. 合并与解决冲突
操作步骤:
- 合并分支: 确保当前位于要接收更改的分支(如 `main`)。在“分支”视图,右键点击想要合并过来的源分支(如 `feature-x`),选择 合并到当前分支(Merge into Current Branch)。
- 处理冲突: 如果发生合并冲突,Tower 会醒目地提示。冲突文件会出现在“工作副本”中,并带有特殊标识。
- 双击冲突文件,Tower 会启动内置的三方合并编辑器。您可以清晰地看到“你的版本”、“基础版本”和“他们的版本”,并通过点击按钮选择要保留的更改,或直接编辑最终结果。
- 解决完所有冲突后,将文件标记为“已解决”。
- 像普通提交一样,暂存已解决的文件并完成这次“合并提交”。
5. 查看历史与导出
操作步骤:
- 查看历史: 在“分支”视图或使用搜索功能浏览提交历史。点击任一提交,可在下方查看其详细更改。
- 导出存档: Tower 不直接“导出”项目,但您可以使用 Git 命令或通过以下方式获取代码:
- 归档仓库: 使用 Git 命令
git archive在终端中创建源代码的 zip/tar 包。 - 检出纯净工作副本: 克隆仓库到新目录,即获得一份干净的代码。
- 归档仓库: 使用 Git 命令
三、常用功能进阶技巧
- 交互式变基(Interactive Rebase): 在提交历史中,右键点击某个提交,选择“交互式变基至此…”。这是一个强大的功能,可以重新排序、合并、编辑或删除历史提交。请谨慎在已推送的提交上使用。
- 暂存区(Stash)的灵活使用: 临时保存未提交的更改。点击工具栏的“暂存区”按钮或使用快捷键
⇧⌘S创建。之后可以随时应用或删除暂存的更改。 - 子模块(Submodule)管理: 在侧边栏切换到“子模块”视图,可以方便地初始化、更新和同步子模块。
- 强大的搜索: 使用顶部搜索栏(快捷键
⌘F)可以按提交信息、作者、文件路径、哈希值进行搜索,快速定位。 - 文件历史追溯: 在“工作副本”中右键点击任何文件,选择“浏览历史”,可以查看该文件的独立提交历史。
四、常见问题与解决方案
- 问题:推送被拒绝,提示“非快进式更新”。
解决方案: 这通常是因为远程分支有您本地没有的新提交。先执行一次拉取(
⌘⇧P),解决可能出现的合并冲突,完成合并提交后,再次推送。 - 问题:合并后想撤销。
解决方案: 在提交历史中找到合并提交,右键点击它,选择“撤销提交”。这将在当前分支上创建一个新的“反向”提交来抵消合并的效果。
- 问题:误删了未提交的更改。
解决方案: 检查是否已使用“暂存区”功能保存过。如果没有,可以尝试在“工作副本”视图中,右键点击文件或文件夹,选择“丢弃更改…”来恢复到最后一次提交的状态(此操作不可逆,请确认)。
- 问题:Tower 界面显示“检测到合并冲突”,但不知道如何下手。
解决方案: 按照上文“合并与解决冲突”的步骤,使用 Tower 内置的三方合并编辑器。它比手动编辑冲突标记要直观得多。逐个文件解决,并标记为已解决。
五、Tower for Mac 快捷键汇总表
| 功能 | 快捷键 (Mac) | 说明 |
|---|---|---|
| 打开/克隆仓库 | ⌘O |
打开克隆远程仓库对话框 |
| 添加本地仓库 | ⇧⌘O |
添加已存在的本地仓库 |
| 新建仓库 | ⌘N |
初始化新仓库 |
| 提交更改 | ⌘⏎ |
提交已暂存的更改 |
| 暂存所选文件 | ⌘⇧A |
将选中文件加入暂存区 |
| 拉取 | ⌘⇧P |
从远程拉取并合并 |
| 推送 | ⌘⇧U |
推送提交到远程 |
| 新建分支 | ⌘B |
基于当前分支创建新分支 |
| 切换/检出分支 | ⌘T |
打开快速切换分支面板 |
| 暂存更改(Stash) | ⇧⌘S |
保存未提交的更改到暂存区 |
| 搜索 | ⌘F |
聚焦到搜索框 |
| 刷新 | ⌘R |
刷新当前仓库状态 |
| 显示/隐藏侧边栏 | ⌘1 |
切换侧边栏显示 |
| 切换到工作副本视图 | ⌘2 |
查看未提交的更改 |
| 切换到分支视图 | ⌘3 |
查看分支和历史 |
| 切换到远程视图 | ⌘4 |
查看远程仓库 |







