Git: Cannot see new remote branch

前端 未结 9 1776
一个人的身影
一个人的身影 2021-01-29 18:55

A colleague pushed a new remote branch to origin/dev/homepage and I cannot see it when I run:

$ git branch -r

I still see preexisting remote br

相关标签:
9条回答
  • 2021-01-29 19:28

    The simplest answer is:

    git fetch origin <branch_name>

    0 讨论(0)
  • 2021-01-29 19:33

    Let's say we are searching for release/1.0.5

    When git fetch -all is not working and that you cannot see the remote branch and git branch -r not show this specific branch.

    1. Print all refs from remote (branches, tags, ...):

    git ls-remote origin Should show you remote branch you are searching for.

    e51c80fc0e03abeb2379327d85ceca3ca7bc3ee5        refs/heads/fix/PROJECT-352
    179b545ac9dab49f85cecb5aca0d85cec8fb152d        refs/heads/fix/PROJECT-5
    e850a29846ee1ecc9561f7717205c5f2d78a992b        refs/heads/master
    ab4539faa42777bf98fb8785cec654f46f858d2a        refs/heads/release/1.0.5
    dee135fb65685cec287c99b9d195d92441a60c2d        refs/heads/release/1.0.4
    36e385cec9b639560d1d8b093034ed16a402c855        refs/heads/release/1.0
    d80c1a52012985cec2f191a660341d8b7dd91deb        refs/tags/v1.0
    

    The new branch 'release/1.0.5' appears in the output.

    2. Force fetching a remote branch:

    git fetch origin <name_branch>:<name_branch>

    $ git fetch origin release/1.0.5:release/1.0.5
    
    remote: Enumerating objects: 385, done.
    remote: Counting objects: 100% (313/313), done.
    remote: Compressing objects: 100% (160/160), done.
    
    Receiving objects: 100% (231/231), 21.02 KiB | 1.05 MiB/s, done.
    Resolving deltas: 100% (98/98), completed with 42 local objects.
    From http://git.repo:8080/projects/projectX
     * [new branch]        release/1.0.5 -> release/1.0.5
    

    Now you have also the refs locally, you checkout (or whatever) this branch.

    Job done!

    0 讨论(0)
  • 2021-01-29 19:40

    It sounds trivial, but my issue was that I wasn't in the right project. Make sure you are in the project you expect to be in; otherwise, you won't be able to pull down the correct branches.

    0 讨论(0)
  • 2021-01-29 19:45

    Check whether .git/config contains

    [remote "origin"]
        url = …
        fetch = +refs/heads/master:refs/remotes/origin/master
    

    If so, change it to say

    [remote "origin"]
        url = …
        fetch = +refs/heads/*:refs/remotes/origin/*
    

    Then you should be able to use it:

    $ git fetch
    remote: Counting objects: …
    remote: Compressing objects: ..
    Unpacking objects: …
    remote: …
    From …
     * [new branch]            branchname -> origin/branchname
    $ git checkout branchname
    Branch branchname set up to track remote branch branchname from origin.
    Switched to a new branch 'branchname'
    
    0 讨论(0)
  • 2021-01-29 19:48

    You can checkout remote branch /n git fetch && git checkout remotebranch

    0 讨论(0)
  • 2021-01-29 19:49

    What ended up finally working for me was to add the remote repository name to the git fetch command, like this:

    git fetch core
    

    Now you can see all of them like this:

    git branch --all
    
    0 讨论(0)
提交回复
热议问题