git push 的作用

git push 的作用是将本地分支的提交同步到远程仓库对应的分支上在这里插入图片描述

git push 的内容

git push 默认会推送当前分支的最新提交 ➕ 它的历史记录 ➕ 所有依赖对象(tree、blob 等),前提是远程没有这些对象。 如果加上 --tags,还会推送所有 tag ➕及其指向的提交➕和依赖对象。


git push 前置条件

条件 说明
已配置远程仓库 使用 git remote add origin <url> 添加远程仓库
分支已Tracking远程分支 推荐使用 git push -u origin dev 设置上游分支;可通过 git branch -vv 查看当前跟踪关系
没有冲突 如果远程分支有你本地没有的提交,必须先拉取并解决冲突后才能推送
非落后提交 若远程已有新提交,而你尝试推送旧历史,Git 默认会拒绝(除非使用 --force--force-with-lease
拥有推送权限 需要对目标远程仓库拥有写权限(SSH 密钥、Token、OAuth 等认证方式)
符合远程仓库保护规则 ・分支保护(Branch Protection)
・需要 Code Review / Approval
・CI/CD 通过要求
・不允许强制推送(禁止 --force

常用命令

所在分支 Git Push 命令 实际效果说明 创建远程分支 可用于首推 建立关联
release/main git push --set-upstream origin release:release1 将本地 release 推送为远程 release1,并设置上游 ✅ 是 ✅ 是 ✅ 是
release/main git push -u origin release:release1 同上(-u--set-upstream 缩写) ✅ 是 ✅ 是 ✅ 是
release/main git push origin release:release1 推送本地 release 到远程为 release1,不设上游 ✅ 是 ✅ 是 ❌ 否
release/main git push --set-upstream origin release 推送本地 release 到远程同名分支 origin/release,并设置其为上游 ✅ 是 ✅ 是 ✅ 是
release/main git push -u origin release 同上(-u--set-upstream 缩写) ✅ 是 ✅ 是 ✅ 是
release/main git push origin release 推送本地 release 到远程同名分支 origin/release,但不自动设置上游 ✅ 是 ✅ 是 ❌ 否
release git push origin 推送当前分支到远程 origin 同名分支(依赖 push.default 配置),不会自动设上游 ✅ 是 ✅ 是 ❌ 否
release git push 若当前分支已设置上游,则推送该分支;
否则报错或需手动指定
❌ 否 ❌ 否 ❌ 否

本地分支 与 远程分支 如何建立track关系

git branch --set-upstream-to=origin/release dev   ✅ dev track origin/release
git branch --set-upstream-to=origin/release       ✅ 当前分支 track origin/release

push 选项

–all

git push origin --all                    ✅ 将本地所有本地分支 推送到 远程仓库origin
等价于
git push origin dev feature-a bugfix-b main ...

–tags

git push origin --tags                  ✅ 推送所有本地标签(tag)

-f

git push -f origin release    ✅ 强制推送本地 release 分支到远程

git push --force-with-lease release      ✅ 更安全的强制推送方式,仅当远程分支未被其他人修改时才允许强制推送

–dry-run

git push --dry-run                       ✅模拟推送过程,不实际执行推送操作

RefSpec

git push origin :<branch>                ✅ 删除远程分支

使用场景

git 本地分支 和 远程分支 恰巧重名时 如何push

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐