登录
No.31核心3 条来源

Git 常用操作Add · Commit · Push · Pull · Merge

课堂投屏

一句话

Git 常用操作是一组存档命令:add 挑出改动,commit 本地存档,push 上传,pull 拉取并合并,merge 合并分支。

大白话

这组操作像寄一批照片:add 是挑出要寄的放进信封,commit 是封口写上说明,push 是寄出去,pull 是收下别人寄来的放进相册,merge 是把两本相册合成一本。

比喻的边界

照片合并不会打架,代码合并时两边改了同一处就会冲突,Git 会停下来等你决定保留什么,不会替你选。

拿去就能用

开始做

我改完了,准备提交。帮我先看有哪些文件被改动,只把和这次改动相关的文件加入暂存,检查里面没有密钥,再写一句清楚的提交说明。推送前告诉我要推到哪个分支,等我确认。

还差:这次的改动,发给 AI 前记得换掉

出错了

我执行 git push 被拒绝,提示远程有我本地没有的提交。我怀疑是在另一台电脑上推过代码。先帮我获取远程更新但不合并,告诉我远程多了哪些提交,再合并;有冲突就停下来给我看。不要强制推送,真需要的话先告诉我影响,等我确认。

想做深

我想以后每做一个功能就开一个分支,做完再合回主分支。帮我讲清楚开分支、切换、合并和删掉分支的完整流程,每条命令执行前先说明它会改变什么,合并前先让我看差异。

别这样说 → 这样说

别这样说

pull 的时候冲突了,你帮我解决一下。

这样说

我运行 git pull 后提示 src/App.jsx 有冲突。帮我先解释冲突标记里哪段是我的改动、哪段是远程的,给出合并后的建议版本让我确认。不要直接用远程或本地的版本整个覆盖。

差别:指明了冲突文件,要求先解释再合并,并排除了整份覆盖。

容易误解:

误解commit 之后,改动就上传到网上了。

其实是commit 只存在本机,push 之后远程仓库才有;反过来,没 add 的改动也不会进入这次 commit。

展开专业理解

add 把文件此刻的内容放进暂存区,之后再改需要重新 add;commit 只记录暂存区里的内容。push 把本地提交传到远程,如果别人先推了,推送会被拒绝,要先把对方的更新拿下来整合。pull 相当于先获取远程更新,再合并进当前分支。合并时两边改了同一处会产生冲突,手动解决后再 add 和 commit。

来源

  1. Pro Git:Recording Changes to the Repository 核对于 2026-09-26
  2. Pro Git:Working with Remotes 核对于 2026-09-26
  3. Pro Git:Basic Branching and Merging 核对于 2026-09-26