在 Git 中,將當前本地分支推送到遠程倉庫的指定分支,可以使用 git push
命令,并指定本地分支和遠程分支的映射關系。
基本語法
git push <遠程名稱> <本地分支名>:<遠程分支名>
<遠程名稱>
:通常是origin
(默認遠程倉庫名)。<本地分支名>
:當前所在的分支(可用git branch
查看)。<遠程分支名>
:遠程倉庫的目標分支(如果不存在,會自動創建)。
1. 將當前分支推送到遠程同名分支
如果遠程分支不存在,Git 會自動創建它:
git push origin <當前分支名>
例如,當前在 feature/login
分支,并推送到遠程的同名分支:
git push origin feature/login
2. 將當前分支推送到遠程不同名分支
如果希望本地分支推送到遠程的另一個分支(如 dev
或 main
):
git push origin <當前分支名>:<遠程分支名>
示例:
- 當前在
feature/login
,但推送到遠程的dev
分支:git push origin feature/login:dev
- 當前在
main
,但推送到遠程的release
分支:git push origin main:release
3. 強制推送(覆蓋遠程分支)
如果遠程分支已有提交,但你想強制覆蓋它(?? 謹慎使用,會丟失遠程提交):
git push -f origin <當前分支名>:<遠程分支名>
# 或
git push --force origin <當前分支名>:<遠程分支名>
示例:
git push -f origin main:prod # 強制用本地 main 覆蓋遠程 prod
4. 推送并設置默認上游分支(upstream)
如果希望以后直接 git push
就能推送到指定遠程分支(避免每次手動指定):
git push -u origin <當前分支名>:<遠程分支名>
示例:
git push -u origin feature/login:dev
之后可以直接使用 git push
或 git pull
而無需指定分支。
總結
場景 | 命令 |
---|---|
推送到遠程同名分支 | git push origin <當前分支名> |
推送到遠程不同名分支 | git push origin <當前分支名>:<遠程分支名> |
強制推送(覆蓋遠程) | git push -f origin <當前分支名>:<遠程分支名> |
推送并設置默認上游 | git push -u origin <當前分支名>:<遠程分支名> |
注意:
- 如果遠程分支不存在,Git 會自動創建它。
- 強制推送 (
-f
) 會覆蓋遠程歷史,團隊協作時慎用,避免影響他人代碼。 - 推薦使用
-u
設置上游分支,簡化后續操作。
希望這個指南能幫到你!🚀