一路青山绿水看不尽,轻车已过数重山
GitHub Desktop 操作手册
适用:汉化版 GitHub Desktop + 仓库
D:/XX/XXX+ 分支main(正式)/XXXback(草稿) 目标:不敲命令行,用鼠标完成「写文章 → 保存到草稿 → 合并上线」。
一、先搞懂四个词
| 词 | 意思 | 类比 |
|---|---|---|
| 仓库(Repository) | 就是 D:/XX/XXX 这个文件夹,加上里面的 .git | 一个抽屉 |
| 分支(Branch) | 抽屉里的一个隔层。main 是正式版,XXback 是草稿版 | 同一个抽屉的两个隔层 |
| 提交(Commit) | 给当前状态拍一张快照,存在本机 | 给文件拍张照,存进相册 |
| 推送(Push) | 把本机的快照传到 GitHub | 把相册上传到云端 |
最重要的一条:提交 ≠ 上线。
改文件 ──提交──> 只在你电脑上 ──推送──> GitHub ──自动构建──> 线上生效
没推送到 GitHub,网站一个字都不会变。
二、日常流程:写一篇博客新文章为例
第 1 步:确认在草稿分支
看顶部中间的「当前分支」(Current Branch)。
- 显示
xxxback→ 可以直接开始 - 显示
main→ 点开它,选xxxback切过去
切分支时如果弹窗提示有未提交的改动,先取消,回到第 4 步提交,再切。
第 2 步:新建文章文件
在 VS Code 里打开 D:/xx/xxx,然后:
- 选一个分类目录,比如
src/content/posts/Blog/ - 新建文件,文件名建议
YYMMDD短标题.md,例如261028qiuri.md(文件名就是网址的一部分,只用小写字母、数字、短横线,别用中文和空格)
第 4 步:提交到草稿分支
回到 GitHub Desktop:
- 左侧「更改」(Changes)标签会列出你动过的文件
- 确认列表只有你这次想改的文件(看到不认识的改动先别提交,问一下)
- 左下角「摘要」(Summary)写一句话,例如:
post: 新增文章 秋日随笔post: 补充 拾遗 页面配图chore: 更新友链
- 点
提交到 xxxuback(Commit to xxxback)
提交完,左侧「更改」应该变空。这就保住了,就算手滑关机也不会丢。
第 5 步:要不要马上上线?
- 想继续写 → 回到第 2 步,写完再提交一次。草稿分支可以反复提交
- 写完了想上线 → 走第四节
三、上线:合并到 main 并推送
第 1 步:切到 main
顶部「当前分支」→ 选 main。
第 2 步:合并
菜单 分支(Branch)→ 合并到当前分支…(Merge into Current Branch)→ 在列表里选 xxxback → 确认。
没有冲突时会自动生成一条合并记录,顶部会出现待推送的数字。
第 3 步:推送
右上角 推送原点(Push origin)→ 点它,等进度条走完。
第 4 步:等线上生效
推送成功后 1~2 分钟,去 github.com/xxxx/xxx 刷新,能看到刚才的提交就说明推上去了。
第 5 步:切回草稿分支
顶部切回 xxxback,继续下一篇。
这一步别忘。忘了的话,下次改完文件会直接提交到 main 上,虽然也能用,但草稿和正式就混在一起了。
[!tip]
- 如果发现 main 分支上多了很多没用的提交,可以按第 2 步的流程,把草稿分支合并到 main 上,再删除草稿分支。
- 其余操作与上述大同小异,直接顺势操作即可。
四、界面中英对照
找不到按钮时按这个对。
| 中文 | 英文 | 位置 |
|---|---|---|
| 当前分支 | Current Branch | 顶部中间 |
| 新建分支 | New Branch | 点开当前分支后 |
| 创建分支 | Create Branch | 新建分支面板底部 |
| 更改 | Changes | 左侧标签 |
| 历史 | History | 左侧标签 |
| 摘要 | Summary | 左下角输入框 |
| 描述 | Description | 摘要下方的长输入框 |
| 提交到 xxx | Commit to xxx | 左下角按钮 |
| 推送原点 | Push origin | 右上角 |
| 获取原点 | Fetch origin | 右上角(检查有没有新东西) |
| 拉取原点 | Pull origin | 右上角(把远程的拉下来) |
| 合并到当前分支 | Merge into Current Branch | 分支菜单 |
| 发布分支 | Publish branch | 右上角(新建分支首次出现) |
| 在终端中打开 | Open in Terminal | 仓库菜单 |
| 在资源管理器中显示 | Show in Explorer | 仓库菜单 |
| 放弃更改 | Discard changes | 文件右键菜单 |
| 撤销提交 | Undo commit | 历史里右键某次提交 |
五、出问题怎么办
情况 1:切分支时提示「有未提交的更改」
说明你改了文件还没提交。两个选择:
- 推荐:先取消切换,把改动提交了,再切
- 只是想丢掉这些改动:右键文件 → 放弃更改(不可恢复,慎重)
情况 2:合并时提示冲突(Conflict)
说明同一个文件的同一行,main 和 sumyuback 改得不一样。单人博客很少遇到,通常是「在 GitHub 网页上改过文件」。
处理方式:
- 点
在编辑器中打开(Open in editor),VS Code 会打开冲突文件 - 文件里会出现
<<<<<<<、=======、>>>>>>>三段标记 - 手工整理成你想要的内容,把这三行标记全删掉
- 保存,回 Desktop,点
继续合并(Continue merge) - 推送
不确定怎么合的时候,先别乱点,把冲突文件截图发出来。
情况 3:提交到错误的分支了
比如在 main 上提交了本该进草稿的东西。
- 刚提交还没推送:
历史标签 → 右键那次提交 →撤销提交(Undo commit),文件改动会退回到「更改」里,然后切到 sumyuback 再提交 - 已经推送了:不用慌,切到 sumyuback,把 main 合并进来(反向合并),内容就都在草稿分支上了。main 上多出来那次提交不影响使用
情况 4:误点了「放弃更改」
改动直接消失,Git 不保留。能救的只有两种情况:
- 这些改动之前提交过 → 在
历史里找到那次提交,右键 →还原提交(Revert) - 从没提交过 → 只能重写
所以第 4 步那个「提交」按钮,养成改完就点的习惯。
情况 5:推送失败
| 提示 | 原因 | 怎么办 |
|---|---|---|
| 认证失败 / Authentication failed | 登录凭据过期 | Desktop 里 文件 → 选项 → 账户,重新登录 GitHub |
| 被拒绝(non-fast-forward) | GitHub 上有你本地没有的提交 | 先点 拉取原点(Pull),有冲突按情况 2 处理 |
| 网络超时 | 网络问题或代理 | 换个网络重试;开了代理的话关掉再试 |
情况 6:文章写错了想删掉
删除 md 文件 → 提交 → 合并 → 推送。删除也会被正确同步,不会像复制文件那样残留。
情况 78:想看看改了哪些内容再决定
Desktop 中间那栏就是差异对比:绿色是新增,红色是删除。提交前扫一眼,能发现误删。
六、五条铁律
- 动手前先看顶部是不是
xxxback,这是最容易错的一步。 - 改完就提交,不要攒一堆改动。提交是唯一的「保存点」。
- 推送
main才会改变线上,提交和合并都只在本机。 - 别点「放弃更改」,它等于删除且不可恢复。
- 上线后切回
xxxback,否则下次改动会落在 main 上。
七、一句话总结
切到 xxxback → 改 → 提交 → 切 main → 合并 → 推送 → 切回 xxxback。
至此,跑顺了之后,一篇新的更改从写完到线上,不超过三分钟。