美文网首页gitGit
git切换远程分支到本地

git切换远程分支到本地

作者: qlmmys | 来源:发表于2019-11-22 20:14 被阅读0次

    使用git,都少不了各种分支的切换,今天我们就聊一聊切换远程分支那些事。本帖适合分不太清楚怎么合理的切远程分支到本地的童鞋,老手请忽略。

    我们在工作中,可能会经常遇到这样一个场景:从git仓库clone一个项目,需要在一个远程已有的分支上,继续开发工作。
    进入刚clone下来的项目,使用命令

    git branch -a
    

    是这样的


    image.png

    可见目前,本地分支为默认的master,而远程分支有一个dev和master,我们想在dev上进行一些开发工作。一般,我们使用

    git checkout -b dev
    

    当我们这样切到dev分支,再进行一些工作,然后执行pull/push操作之前,就会一个错误,没法pull/push远程分支


    image.png

    git的报错提示永远这么清楚明了,告诉我们,我们当前的本地分支没有追踪信息,也就是没有关联的远程分支,怎么办呢?当然难不倒聪慧的小伙伴们:

    git push -u origin dev
    

    pull/push的时候,指定 <remote> 和 <branch>,清楚的告诉git要把分支关联到哪个远程的哪个分支即可,加上 -u就是建立关联,以后就不需要每次都指定<remote> 和 <branch>了。

    为什么从远程切过来的分支,反而是关联不到远程了呢?还需要自己手动关联一下?
    原因是出在,git checkout -b 作用是,基本当前分支,检出一个新的分支,并切换到新分支,是以下两个命令的合集:

    git branch dev
    git checkout dev
    

    这种从当前项目检出的分支,其实跟远程分支毫无关系,只是恰好名字叫做dev而已,所以会手动关联,所以并不推荐这种方式切换远程分支哦。

    我们可以直接将远程分支检出为本地的一个分支并切换到该分支,使用如下命令

    git checkout -b dev origin/dev
    

    当然下面的命令也可以简化为这样,也能完美解决问题了

    git checkout dev
    

    总结:
    切换分支虽然简单,但是还是有初学的小伙伴混淆其中的小细节,希望本篇博文能帮助大家

    相关文章

      网友评论

        本文标题:git切换远程分支到本地

        本文链接:https://www.haomeiwen.com/subject/dwiqwctx.html