跳到正文

推送

Push

中级通用

推送(Push)是把本地分支上的提交发送到远程仓库,并更新对应的远程分支。它解决的是本地成果如何交给同事或协作平台的问题;你在电脑上提交了登录页,推送后团队才能从远程仓库获取这些提交。

你可能会说:「我已经在自己电脑上提交了改动,想让同事也能从项目仓库拿到这版代码。」

读之前建议先了解

动手看看

feature/login当前所在 HEADorigin/feature/login登录页骨架feature/login · HEADorigin/feature/login
1

登录页的基础版本已经在远程仓库里,本地和远程分支都指向同一个提交。

要点

  1. 1

    发送提交并更新远程分支

    你推送的是本地分支上的提交,不是把当前文件夹原样上传。Git 会把远程仓库缺少的相关对象传过去,再尝试更新目标分支的位置,所以未提交的改动不会随这次推送出现。

  2. 2

    先确认要推到哪个分支

    一个项目可能连着多个远程仓库,也有多个分支。比如你在本地做结算页,想让同事审查,就可以把本地功能分支推到团队仓库的同名分支;先看清目标,才能避免更新错地方。

  3. 3

    远程有新提交时先处理差异

    如果别人已经更新了目标远程分支,你直接推送可能会被拒绝,因为这次更新会让远程已有的提交从分支历史中消失。先获取远程变化,合并或变基并处理冲突,再推送合适的结果。

容易混淆的地方

提交是把改动记录进本地仓库;推送是把这些提交送到远程仓库,所以只提交还不能让同事从远程拿到代码。拉取方向相反,是把远程变化带回本地。推送也不等于部署上线:代码到了团队仓库,网站是否更新还取决于后续的构建和部署流程。

什么时候用

适合用

  • 你和 AI Agent 完成登录页、检查并提交代码后,把功能分支推到团队仓库,方便发起合并请求。
  • 你在另一台电脑上也要继续开发,把当前已提交的进度推到远程仓库,之后再从那里获取。
  • 你修复了后台报表的错误并提交,希望持续集成针对远程分支上的新提交运行检查。

不适合用

  • 你只想看看同事刚改了什么,不需要把本地成果发出去;先获取或拉取远程变化。
  • 你还在修改 App 页面,想暂时保存未完成的文件;先在本地提交,或用贮藏暂存,不用推送。
  • 你希望网站用户立刻看到新版页面;先确认部署流程。仅把代码推到远程仓库不一定会更新线上网站。

练一练

你和 AI Agent 在本地提交了设置页改动,准备推到团队仓库,但 Git 提示目标远程分支已有你本地没有的提交。这时怎么处理?

让 AI 帮你做

请先检查当前 Git 分支、未提交的改动,以及它与目标远程分支的差异。确认这次设置页改动已正确提交后,将功能分支推送到团队远程仓库;如果远程有新提交或目标不明确,先说明情况,别替我强制推送。

接下来学什么