Git如何设置和修改当前分支跟踪的上游分支
目录
前言
背景
设置当前分支跟踪的上游分支
当前分支已有关联,删除其关联,重新设置上游
常用的分支操作
参考资料
前言
仅做学习记录,侵删
背景
- 在项目开发过程中,从master新建分支时,会出现没有追踪的上游分支的情况
- 在推送当前分支到远端仓库时,Git会自动设置当前分支跟踪的分支为远端的相同分支,导致更新项目无法获取master主分支上的更新,此时就需要修改当前分支跟踪的上游分支
设置当前分支跟踪的上游分支
- 切换到你想要操作的分支,如果无法确定当前处于哪个分支或者分支名,请参考上面的命令查看
git checkout 分支名
- 如果你当前在
feature-branch
分支上,并且你想要将其上游分支设置为origin/develop
,你可以执行以下命令:
git branch --set-upstream-to=origin/develop
- 或者使用git push的-u选项同时设置并推送当前分支:
git push -u origin develop
- 如果你已经推送了当前分支到远程仓库,并希望将其与远程分支关联,你可以使用:
git push --set-upstream origin develop
- 这样,你就设置了当前分支跟踪origin/develop这个远程分支。
当前分支已有关联,删除其关联,重新设置上游
- 查看本地分支与远程分支的关系 (可以忽略)
git branch -vv
- 解除远程分支绑定
git branch --unset-upstream
- 重新设置当前分支追踪的上游分支
git branch --set-upstream-to=origin/develop
常用的分支操作
🚫请注意下列命令中的[]符号,在命令行中不需要添加,此处只是为了做区分,请注意空格问题
# 列出所有本地分支
$ git branch# 列出所有远程分支
$ git branch -r# 列出所有本地分支和远程分支
$ git branch -a# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]# 新建一个分支,并切换到该分支
$ git checkout -b [branch]# 新建一个分支,指向指定commit
$ git branch [branch][commit]新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]# 切换到指定分支,并更新工作区
$ git checkout [branch-name]# 切换到上一个分支
$ git checkout -# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]# 合并指定分支到当前分支
$ git merge [branch]# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]# 删除分支
$ git branch -d [branch-name]# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
参考资料
- git 修改当前分支的上游分支_git重设上游分支 怎么弄-CSDN博客
- 常用 Git 命令清单 - 阮一峰的网络日志
- git 解除本地分支与其它分支(远程分支)的关联_git 取消关联远程分支-CSDN博客