git push -u origin main 这个-u起什么作用
git push -u origin main
里的 -u
等价于 --set-upstream
,它的作用是:
👉 把本地分支 main
和远程分支 origin/main
绑定(建立追踪关系)。
🔹 具体效果
第一次推送分支时,如果加了
-u
:本地分支
main
会记住自己对应远程的origin/main
。以后就可以直接用简化命令:
git push git pull
而不用每次都写全
git push origin main
或git pull origin main
。
如果不加
-u
:推送能成功,但 Git 不知道本地
main
对应哪个远程分支。以后
git pull
或git push
会报错,要你显式指定分支。
🔹 举个例子
假设你新建了一个本地分支 main
:
git checkout -b main
git push -u origin main # 带 -u
之后:
git pull # ✅ 默认就会从 origin/main 拉代码
git push # ✅ 默认就会推到 origin/main
如果你当时没加 -u
:
git push origin main # 第一次推送
git pull # ❌ 会报错,因为没有 tracking 信息
你需要手动指定:
git pull origin main
或者补救一下:
git branch --set-upstream-to=origin/main main
🔹 总结一句
git push origin main
:只推代码。git push -u origin main
:推代码 + 建立本地分支和远程分支的追踪关系(以后能偷懒)。