• [译]拉取仓库远程分支


    原文来源: https://stackoverflow.com/questions/9537392/git-fetch-remote-branch

    问:
    我和同事在同一个仓库下工作,由于项目技术上面的不同,我们分成了两个分支进行开发。但是他们有相似之处,有的时候我们想要从branch分支切回到master分支上。
    然而,我是在分支branch上。我的问题是,我的同事怎么能拉那个特定分支?

    git clone仓库看上去并没有给他在本地创建那个分支。但是我在终端上推送后能看到这个分支。
    此外,当我最初创建分支时,我做了-b checkout。不确定这个操作是否有影响?

    $ git branch -r
    origin/HEAD -> origin/master
    origin/daves_branch
    origin/discover
    origin/master
    
    $ git fetch origin discover
    $ git checkout discover
    

    这些是我跑的命令。但确定没有生效。
    我希望能够切换到该分支,然后推送并提交来自各个协作者或工作站的分支更改。

    答:
    您需要创建一个跟踪远程分支的本地分支。以下命令将创建一个名为daves_branch的本地分支,跟踪远程分支origin/daves_branch。推送更改时,将更新远程分支。

    对于最新版本的git:

    git checkout --track origin/daves_branch
    

    --track这是git checkout -b [branch] [remotename]/[branch][remotename] 在这种情况下起源的地方的简写,[branch]是两倍相同,在这种情况下是daves_branch。

    对于git 1.5.6.5,你需要这个:

    git checkout --track -b daves_branch origin/daves_branch
    

    对于git 1.7.2.3及更高版本,这已经足够了(可能已经提前开始,但这是我能够快速找到的最早确认):

    git checkout daves_branch
    

    请注意,对于最近的git版本,此命令不会创建本地分支,并会使您处于“分离的HEAD”状态。
    如果需要本地分支,请使用该--track选项。详细信息请访问:http://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches

  • 相关阅读:
    浏览器如何减少 reflow/repaint
    caller和callee的区别
    正则表达式中的2和1和3不仅分组还占位
    正则分组和捕获
    Javascript之BOM与DOM讲解
    Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程
    JS的类型转换
    typeof 和 instanceof
    ios对new Date() 的兼容问题
    module.exports 和 export default
  • 原文地址:https://www.cnblogs.com/everfight/p/git_fetch_remote_branch.html
Copyright © 2020-2023  润新知