在使用Gitpull时,如何知道要从远程仓库的哪个分支拉取;在使用gitpush时,如何知道要推送到远程仓库的哪个分支。那么这里涉及到的知识就是————关联分支。
认识关联分支什么是关联分支
简单的来说,就是本地分支和远程分支建立一种映射关系。(可能是一对一,也可能是一对多的关系)。
gitcheckout-bdevelop1origin/devgitcheckout-bdevelop2origin/dev//创建两个新分支,都是从远程分支dev拉取的,这时候就存在一对多的关系了。//这里是指一个远程分支,对应多个本地分支但是大多数的情况下,分支还是一对一的关系。
关联分支的目的
使用gitpull时,拉取代码不需要指定远程分支名;
使用gitpush时,提交代码不需要指定远程分支名;
查看映射关系的两种方式:
方式一:命令式gitbranch-vv
看上面的截图:
本地分支dev对应远程分支dev
本地分支master对应远程分支master
方式二:打开.git文件夹中的config文件
通过上面的两种方式,就会发现本地分支与远程分支的映射关系。
如果本地分支与远程分支没有关联的话,可以继续使用两种方式,看是处于什么状态。(自己动手试一试)
没有关联分支的情况
在没有被关联的分支上,操作gitpull和gitpush,都是不会成功的。
使用gitpull,就会有以下的提示:
Seegit-pull(1)fordetails.gitpull<remote><branch>Ifyouwishtosettrackinginformationforthisbranchyoucandosowith:gitbranch--set-upstream-to=origin/<branch>xxx//意思是:使用gitpull时,当前分支没有被关联,请使用gitpull的完整命令//如果想关联分支,就是使用下面的命令。使用gitpush,就会有以下的提示:
fatal:Thecurrentbranchxxxhasnoupstreambranch.Topushthecurrentbranchandsettheremoteasupstream,usegitpush--set-upstreamoriginxxx//意思是:当前分支xxx没有关联分支,如果想要push,就需要先关联,执行下面的命令。设置关联分支在上面分析没有被关联的分支下,gitpull和gitpush,都是不会成功的,并且有相应的提示。在提示中,有着以下两条命令:
gitbranch--set-upstream-to=origin/xxxxxxgitpush--set-upstreamoriginxxx这两条命令,有着相似的地方,那就是--set-upstream。
在这里,--set-upstream单词直接翻译也说不通;那就简单理解:设置关联分支。
命令一:
该命令的具体用法就是:
gitbranch--set-upstream-to=远程仓库名/远程分支名本地分支名
举例:
本地分支test分支没有被关联,远程分支有master和dev两个分支;
那么使本地分支test与远程分支master进行关联,该怎么写呢?
gitbranch--set-upstream-to=origin/mastertest命令二:
该命令的具体用法就是:
gitpush--set-upstream远程仓库名远程分支名
举例:
站在test本地分支上操作,想要与远程分支dev相互关联。
gitpush--set-upstreamorigindev//test分支上操作这样本地分支test和远程分支dev相互关联。
执行完上面的命令后,都可以使用gitbranch-vv来查看关联的情况。
上面的两条命令就是针对使用gitpull和gitpush,出现的异常情况下。但是在一般情况下,在创建分支的时候,就会进行相应的操作与远程的分支相互关联。
情况一:
基于远程分支XXX创建一个本地分支YYY。(前提条件:远程分支XXX必须存在)
gitcheckout-bYYYorigin/XXX//这样本地分支YYY与远程分支XXX就相互关联了情况二:
先创建一个新的本地分支XXX,然后手动推送到远程分支上。
gitcheckout-bXXXgitpush-uoriginXXX这样本地分支XXX与远程分支XXX相互关联了。
gitpush-uoriginxxx//把xxx推送到远程仓库,并关联。//等价于(下面的两条命令)gitpushoriginxxx//把xxx推送到远程仓库,但是并没有关联gitbranch--set-upstream-to=origin/xxxxxx//远程分支xxx与本地分支xxx相互关联取消关联分支取消关联分支
gitbranch--unset-upstream站在当前的分支上,解除当前分支的远程关联。
总结关联分支:本地分支与远程分支的一种映射关系。
关联分支大致的使用场景如下:
基于远程分支yyy创建一个新分支xxx:gitcheckout-bxxxorigin/yyy
创建一个新分支,然后推送:gitcheckout-bxxxgitpush-uoriginxxx
拉取时,发现没有关联:gitbranch--set-upstream-to=origin/xxxxxx
推送时,发现没有关联:gitpush--set-upstreamoriginxxx
认识关联分支和关联分支的命令差不多就是这样了。如果有错或则没有说全,请指教。
原文:https://juejin.cn/post/7097244926412324871logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多
Git系列:关联分支的认识和设置
fatal:Thecurrentbranchxxxhasnoupstreambranch.Topushthecurrentbranchandsettheremoteasupstream,usegitpush--set-upstreamoriginxxx\/\/意思是:当前分支xxx没有关联分支,如果想要push,就需要先关联,执行下面的命令。设置关联分支在上面分析没有被关联的分支下,gitpull和gitpush,都是不会成功的,并且有相应...
图解git,用手绘图带你理解git中分支的原理和应用
理解分支概念之前,首先要了解Git的结构。Git中每个分支都是一条指向某个提交的指针,类似于树上的链路,每个提交代表一次代码快照,类似于游戏的存档。一个分支上的多个提交形成了一个链路,而Git内部的HEAD指针则标记当前代码的位置。创建分支可通过命令`git branch`配合分支名实现。HEAD指针不仅指示当前分...
Git分支教程:详解分支创建、合并、删除等操作
分支基础理解分支基础至关重要。在Git中,分支是独立的代码版本,允许你在不同分支上进行修改,而不会影响主线(如master分支)的开发。创建与切换分支创建分支简单易行,通过命令`git branch branchname`完成,随后可使用`git branch -avv`查看所有本地分支。创建并切换分支的命令是`git checkout -b br...
【前端工程化指南】Git常见操作之分支相关操作
创建分支使用git branch new_branch,如果需要在本地创建并立即关联远程分支,需要确保当前分支未与远程分支关联,并使用git push -u origin new_branch命令。切换分支则通过git checkout,加上-b参数可同时新建并切换至新分支。删除本地分支时,可以使用git branch -d branch_name,如果有未合并的更改,...
git怎么理解分支存在的意义?
理解git中的分支,首先需要明白它只是一个助记符号或别名。在git的模型中,提交是核心概念,它代表每一次软件变更的版本。每个提交都有一个唯一标识的SHA1结果,由40个16进制字符组成,表示该版本的修订编号。提交之间通过修订编号形成树状结构,每个提交指向其父提交。这种结构构成了git的版本控制基础。
开发的必杀技:Git 的分支管理
合并分支示例:将`newtest`分支合并到`master`分支,若出现冲突需手动解决。删除分支命令:使用`git branch -d (branchname)`命令删除分支。删除分支后,仅保留`master`分支。合并冲突处理:合并操作可能引发冲突,需手动解决冲突并提交修改结果。通过学习和实践Git的分支管理,可以实现高效、灵活的代码开发...
git关联远端分支
1.新建一个本地的分支 git branch -b newbranch \/\/这个命令是新建一个分支,并切换到该分支上去 (git branch newbranch; git checkout newbranch)这两个命令合起来等同于上面的一个命令 2.新建一个远程分支(同名字的远程分支)git push origin newbranch:newbranch...
Git系列三:Git 分支管理与版本控制
在使用 Git 时,了解分支的基本操作至关重要。新建、切换、删除和查看分支,以及进行分支间的合并操作是团队协作的核心环节。合并分支时,Git 提供了两种方式:Fast-forward 和 No-fast-forward。Fast-forward 合并通常在两个分支同步更新时使用,而 No-fast-forward 合并则涉及三方合并,可能需要解决冲突...
Git——Git 推送设置 Upstream
Upstream 分支在 Git 中扮演重要角色,它是本地仓库中远程仓库上某个特定分支的跟踪分支。当在 Git 中创建一个分支,如 feature1,需要设置 Upstream 分支以确保正常工作。让我们通过一个实例来理解如何设置 Upstream 分支。假设已经创建了一个用于功能开发的分支 feature1。接下来,我们需要使用带有 -vv ...
git的分支是什么意思?
在git中创建分支十分简单,使用git branch 命令即可。例如,要创建一个名为feature的分支,只需要使用以下命令:git branch feature。之后,使用git checkout feature命令即可切换到创建的feature分支上进行开发,最后将代码合并到主分支上即可。在创建分支时,也可以使用-git checkout -b feature命令一步完成...