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
:推代碼 + 建立本地分支和遠程分支的追蹤關系(以后能偷懶)。