切换到已有的远程分支
查看所有分支--查看的时远程仓库的分支
git branch -a
切换到目标远程分支(假设目标分支为 target_branch)
git checkout -b target_branch origin/target_branch
关联到一个新的远程分支
创建并切换到新的本地分支(假设新分支名为 new_branch)
git checkout -b new_branch
将新分支推送到远程仓库,并建立关联
git push -u origin new_branch
修改已有的本地分支关联的远程分支
切换到目标本地分支(假设本地分支名为 local_branch)
git checkout local_branch
设置该本地分支关联的远程分支(假设远程分支名为 new_remote_branch)
git branch -u origin/new_remote_branch
查看当前分支关联的远程分支--查看的是本地仓库的分支
git branch -vv
修改当前分支关联的远程分支
假设要关联的远程新分支名为 new_remote_branch
git branch -u origin/new_remote_branch
通过 git branch -vv
查看时,只有部分分支后面带有远程分支的 URL 信息,通常意味着这些分支已经和远程分支建立了跟踪关系。而那些没有显示远程分支 URL 信息的分支,也可以推送到远程仓库,不过操作步骤会稍有不同。
已建立跟踪关系的分支
如果分支后面带有远程分支的 URL 信息,说明该分支已经和远程分支建立了跟踪关系,推送时可以直接使用以下命令:
git push
这会将当前分支推送到其跟踪的远程分支。
未建立跟踪关系的分支
如果分支没有显示远程分支的 URL 信息,说明该分支尚未和远程分支建立跟踪关系。在推送这类分支时,需要明确指定远程仓库和远程分支的名称,一般使用以下命令:
git push origin <本地分支名>:<远程分支名>
如果希望同时建立跟踪关系,可以使用 -u
选项:
git push -u origin <本地分支名>:<远程分支名>
之后,再次推送该分支时就可以直接使用 git push
了。
示例代码
假设本地有 main
、feature1
和 feature2
三个分支,其中 main
已经建立了跟踪关系,feature1
和 feature2
没有建立跟踪关系,以下是推送这些分支的示例代码:
# 推送已建立跟踪关系的分支
git checkout main
git push
# 推送未建立跟踪关系的分支,并建立跟踪关系
git checkout feature1
git push -u origin feature1
git checkout feature2
git push -u origin feature2