Git 版本管理
在项目工作区打开 Git 页面,可以可视化地管理代码版本。底部有三个标签页:状态、分支、提交。如果当前目录不是 Git 仓库,进去会提示初始化。
右上角的钥匙图标进入「凭据与署名」页,里面有署名和凭据两个标签页——首次使用必须先配好署名,否则无法提交。
状态
看当前仓库的工作区状态。
顶部卡片显示当前分支名、相对远程领先或落后多少个提交(上下箭头),以及已暂存、已修改、未跟踪的文件数量。
提交是全宽的主按钮,需要先暂存改动并配好署名才能点,点击后填提交信息。
其它操作:
- 暂存全部:把所有改动加入暂存区。
- 全部取消暂存:在已暂存分组标题右侧,执行前会二次确认。这个操作只是取消暂存,不会删除文件内容。
- 拉取 / 推送:需要已配置远程仓库。当前分支没有上游时,推送会自动建立关联。
文件改动按「已暂存 / 已修改 / 未跟踪」分成三组:
- 已暂存:点行看暂存区与上次提交的差异,行尾「−」取消暂存。
- 已修改:点行看工作区与上次提交的差异,行尾「+」暂存该文件。
- 未跟踪:行尾「+」暂存新文件。
如果工作区有未提交的改动,点「拉取」会先提示可能产生冲突,确认后才执行。
分支
分成 HEAD、本地分支、远程分支、标签四组显示。当前分支卡片会显示分支名和三类引用的数量。本地分支按路径树形展示,当前分支高亮。
切换分支:点任意分支或标签,确认后切换。点远程分支会创建一个本地跟踪分支再切过去。切换到标签会进入 detached HEAD 状态(此时的提交不属于任何分支,注意别在这个状态下长期工作)。
新建分支:点本地分支分组标题右侧的 +,填分支名、选基准分支(默认当前分支),「创建并切换」开关默认开启。
重命名分支:点本地分支,在弹出的操作菜单里选「重命名」。
删除分支:点分支 → 操作菜单 → 删除。
- 本地分支用的是安全删除,只能删已合并的分支;未合并的分支会被拒绝并告诉你原因。
- 远程分支的删除会直接作用到远端,不可撤销。
- 当前所在的分支不能删。
标签:点标签分组标题右侧的 + 从当前 HEAD 创建轻量标签;点已有标签 → 操作菜单 → 删除可以删本地标签。
提交
显示最近 50 条提交,带彩色的分支拓扑图。每条显示短哈希、作者、相对时间、提交信息,以及所在分支或标签的标记。
点一条提交会弹出底部详情面板:完整提交信息、作者与时间、完整哈希(短哈希和完整哈希都可以复制)、是否是合并提交,以及这次改动的文件清单。点文件可以看该文件的差异。
往下滚动接近底部时会自动加载更早的提交,全部加载完会显示「没有更多了」。
常见错误提示
操作失败时 Git 的原始报错会被翻译成中文提示:
| 场景 | 提示 |
|---|---|
| 删除当前所在分支 | 无法删除当前所在分支,请先切换到其他分支 |
| 删除有未合并提交的分支 | 该分支有未合并的提交,无法安全删除 |
| 切换到不存在的分支 | 分支或引用不存在 |
| 切换时本地改动会被覆盖 | 本地有未提交的改动会被覆盖,请先提交或暂存后再切换 |
| 推送被拒(远程有更新) | 推送被拒绝,远程有更新的提交,请先拉取 |
| 远程鉴权失败 | 远程鉴权失败,请检查凭据配置(用户名/密码/Token) |
| 未配置提交署名 | 尚未配置提交署名,请在设置中填写用户名和邮箱 |
| 未配置远程仓库 | 未配置远程仓库,无法推送/拉取 |