0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Git命令之本地分支与远程分支关联和解除

马哥Linux运维 来源:稀土掘金技术社区 作者:稀土掘金技术社区 2023-12-15 09:27 次阅读

在实际的工作生活中,往往需要将本地的分支和远程分支关联,这样我们就可以使用git pull命令来更新拉取最新的代码,并使用git push命令将自己本地的修改推送到远程仓库。但是如果此时你本地关联的远程分支被删除了,那么就会出现你无法使用git pull,和git push命令。使用一个例子说明这个场景。 我们可以使用下面的命令查看自己本地分支与与远程分支的关联情况:


git branch -vv


17f64dde-9a90-11ee-8b88-92fbcf53809c.jpg

如上图所示,我们可以看到本地的master分支和远程的origin/master分支关联,nololibs_for_git 和远程的origin/nololibs_release 关联。 这时候假设我们将远程分支origin/nololibs_release删掉,这时候我们执行git pull命令就会报错,如下所示:

1810635e-9a90-11ee-8b88-92fbcf53809c.jpg

意思就是我们之前关联的远程分支不存在了。

要解决git pull报错的问题就需要我们重新关联一个远程仓库中存在的分支。这时候假设远程仓库中有 一个分支为origin/nololibs_for_git,我们只需要执行下面的命令:


git branch -u 远程分支名
// 例如:git branch -u origin/nololibs_for_git


也可以使用下面的命令关联远程分支:

git branch --set-upstream-to 远程分支名
//例如: git branch --set-upstream-to origin/nololibs_for_maven


执行完上面的命令后,我们可以使用git branch -vv 查看下当前的本地分支和远程分支的关联情况:

18221e1e-9a90-11ee-8b88-92fbcf53809c.jpg

我们可以发现本地分支nololibs_for_git和远程分支origin/nololibs_for_git以及关联上了。

比如我们有时候会想将远程分支改个名字啥的,或者就是单纯想解除与远程分支的关联,这时候可以使用下面的命令解除本地分支与远程分支的关联:


git branch --unset-upstream

例如:假设现在我想解除本地的nololibs_for_git和远程的origin/nololibs_for_git的关联。 首先先用git branch -vv 命令看下分支的关联情况:

183615ae-9a90-11ee-8b88-92fbcf53809c.jpg

可以发现本地的nololibs_for_git和远程的origin/nololibs_for_git是关联着的,这时我们执行命令git branch --unset-upstream,再使用git branch -vv命令查看分支关联情况。

18464302-9a90-11ee-8b88-92fbcf53809c.jpg

可以看到只有本地的分支了,远程的分支以及没有了,这时候使用git pull命令会提示关联远程分支

1856411c-9a90-11ee-8b88-92fbcf53809c.jpg

这时候我们再执行关联远程分支的命令git branch -u 远程分支名 就可以使用了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
  • Git
    Git
    +关注

    关注

    0

    文章

    192

    浏览量

    15416
  • 远程仓库
    +关注

    关注

    0

    文章

    3

    浏览量

    2051

原文标题:Git命令之本地分支与远程分支支关联/解除关联

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于git远程分支的详细介绍

    来设置远程的上游,这样我们就可以push成功了。 当然如果我们push的时候执行的不是git push,而是后面再加上origin的话,就可以push成功了。比如这样: 那么这是什么原因呢?这个origin分支又是什么意思呢?我
    的头像 发表于 10-11 10:03 3044次阅读
    关于<b class='flag-5'>git</b>的<b class='flag-5'>远程</b><b class='flag-5'>分支</b>的详细介绍

    Git常用的超级实用命令

    的一些Git工作流。 1 Git 常用的超级实用命令 1.1 与仓库相关的操作 克隆代码仓库到本地,开发必用 git clone 查看
    的头像 发表于 10-09 17:19 917次阅读
    <b class='flag-5'>Git</b>常用的超级实用<b class='flag-5'>命令</b>

    git shell 常用命令

    master:hb-dev 将本地库与服务器上的库进行关联 git checkout --track origin/dev 切换到远程dev分支
    发表于 04-16 15:57

    Git 常用命令大全

    test分支作为远程的master分支$git push origin test:test// 提交本地test
    发表于 10-11 17:23

    git之推送提交

    这两天试着使用了git的推送,把本地的文件上传到仓库,中间遇到点问题,就是本地的仓库文件和远端的仓库相比,多出来一些文件,是我自己新产生的,于是push不是很顺利,特此记录下来,主要参考了如
    发表于 12-17 09:20

    git merge后,原分支的内容没有出现在新的master分支中。

    我新建了一个rico分支,现在想把rico分支的内容合并到master分支,但是合并之后,我在rico分钟中新建的文件夹,并没有出现在master中,这是为什么呢??rico分支中有
    发表于 03-12 00:48

    Linux 下建立 Git 与 GitHub的连接并clone至本地

    的指纹信息是否真的来自 GitHub 的服务器。  克隆到本地的仓库会自动关联远程仓库,可以通过git remote -v命令查看
    发表于 07-09 08:13

    Git分支,为何以及如何使用分支

    /master 的远程 master 分支保持一致。(非常感谢来自 Red Hat 的 Peter Savage让我知道 gitk 这个工具)
    的头像 发表于 06-11 11:08 3724次阅读

    Git命令解析-merge、rebase

    同步,并形成无分支记录的提交链。执行时在控制台输出Fast-forward标识。这种merge方式下不会产生冲突,git log命令会看到如下记录:但在团队合作开发时,通常会多人修改同一远程
    的头像 发表于 07-29 18:21 900次阅读
    <b class='flag-5'>Git</b><b class='flag-5'>命令</b>解析-merge、rebase

    Git 命令+原理 程序员必备的基础

    是什么? Git的相关理论基础 日常开发中,Git的基本常用命令 Git进阶之分支处理 Git
    的头像 发表于 11-14 10:01 1521次阅读
    <b class='flag-5'>Git</b> <b class='flag-5'>命令</b>+原理 程序员必备的基础

    git拉取远程分支本地的两种方法

    使用这种方式会在本地仓库新建分支xxx,并自动切换到新建的分支xxx,当然了远程分支xxx的代码也拉取到了
    的头像 发表于 05-06 09:19 1.4w次阅读

    git rebase与相关git merge命令比较

    。 #概念     首先要理解的是git rebase和git merge解决了同样的问题。这两个命令都旨在将更改从一个分支集成到另一个分支
    的头像 发表于 05-26 16:22 420次阅读
    <b class='flag-5'>git</b> rebase与相关<b class='flag-5'>git</b> merge<b class='flag-5'>命令</b>比较

    git rebase和git merge的区别

    合并到当前分支 他们的 「原理」 如下: 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。   $ git che
    的头像 发表于 07-05 09:54 396次阅读
    <b class='flag-5'>git</b> rebase和<b class='flag-5'>git</b> merge的区别

    Git中的最常用命令详解

    分支是master。在运行命令之前,master指向ed489,提交后,master指向新的节点f0cec并以ed489作为父节点。 即便当前分支是某次提交的祖父节点,git会同样操作
    的头像 发表于 09-13 16:41 610次阅读
    <b class='flag-5'>Git</b>中的最常用<b class='flag-5'>命令</b>详解

    git切换远程地址分支方式

    git remote set-url origin URL】 更换远程仓库地址,URL为新地址。
    的头像 发表于 12-18 09:35 376次阅读