27 Pregunta: ¿Cómo verifico una sucursal de Git remota?

pregunta creada en Sun, May 21, 2017 12:00 AM

Alguien empujó una rama llamada test con git push origin test a un repositorio compartido. Puedo ver la sucursal con git branch -r.

Ahora estoy intentando verificar la rama remota del test.

Lo he intentado:

  • git checkout test que no hace nada

  • git checkout origin/test da * (no branch). Lo cual es confuso. ¿Cómo puedo estar en "ninguna rama"?

¿Cómo verifico una sucursal de Git remota?

    
6168
  1. @ inger Pero no incluye la posibilidad de cambiar el nombre de la nueva rama local (si desea --set upstream más adelante y mantener la coherencia de nombre)
    2014-02-01 12: 43: 49Z
  2. Creo que este hilo no es útil. Nada parece funcionar, la pregunta original parece haberse perdido en muchas de las respuestas. He leído cada palabra, he intentado todo a continuación y no tengo idea de cómo hacer lo que el OP quiere hacer.
    2014-08-26 00: 16: 17Z
  3. Para comenzar, los comandos de Git no son intuitivos, agregue los cambios introducidos con versiones recientes a la mezcla y tendrá esta página ...
    2016-01-12 17: 41: 39Z
  4. Siento que estoy tomando píldoras locas. Estoy tratando de retirar una sucursal de un upstream, no solo origin, y cada respuesta recomendada no hace nada remotamente útil (destinado a un juego de palabras). EDIT : perdón, la multitud de sugerencias contenidas en las 2 mejores respuestas fueron inútiles; El tercero uno (git branch test origin/test) es lo que funciona. Me alegro de que los dos primeros tengan 20 veces el número de votos ...
    2017-03-09 16: 35: 18Z
  5. Tal vez tenga un archivo llamado 'prueba' en su árbol de trabajo, consulte stackoverflow.com/a/45006389/792416 para detalles.
    2017-07-10 07: 50: 10Z
27 Respuestas                              27                         

Actualizar

La respuesta de Jakub realmente mejora esto. Con las versiones de Git ≥ 1.6.6, con solo un control remoto, solo puede hacer:

 
git fetch
git checkout test

Como señala el usuario masukomi en un comentario, git checkout test NO funcionará en git moderno si tiene varios controles remotos. En este caso utilice

 
git checkout -b test <name of remote>/test

o la taquigrafía

 
git checkout -t <name of remote>/test

Respuesta anterior

Antes de que pueda comenzar a trabajar localmente en una rama remota, debe buscarlo como se indica en las respuestas a continuación.

Para obtener una rama, simplemente debes:

 
git fetch origin

Esto recuperará todas las ramas remotas para ti. Puede ver las sucursales disponibles para pagar con:

 
git branch -v -a

Con las sucursales remotas en la mano, ahora necesita revisar la sucursal en la que está interesado, dándole una copia de trabajo local:

 
git checkout -b test origin/test
    
8502
2019-01-23 19: 08: 51Z
  1. Para expandir esto: git no te permite trabajar en las sucursales de otra persona. Solo puedes trabajar por tu cuenta. Por lo tanto, si desea agregar a la rama de otra persona, debe crear su propia "copia" de esa rama, que es lo que hace el comando anterior (bueno, crea su rama y también la verifica).
    2009-11-23 15: 24: 13Z
  2. Si se trata de una nueva sucursal remota, es posible que necesite git fetch antes de hacer esto para que git tenga conocimiento de origin/test
    2011-11-04 14: 38: 53Z
  3. ... y harías esto con git fetch origin test
    2012-01-22 23: 24: 42Z
  4. Error: "git checkout: la actualización de las rutas es incompatible con el cambio de ramas. ¿Deseaba realizar la compra del formulario origin/test que no se puede resolver como cometer?"
    2012-09-11 20: 35: 59Z
  5. git checkout test NO funcionará en git moderno si tiene varios controles remotos que tienen el mismo nombre de rama . No se puede saber cuál usar.
    2014-09-16 15: 34: 55Z

Sidenote: Con Git moderno (> = 1.6.6 ), solo puede utilizar

 
git checkout test

(tenga en cuenta que es 'prueba' no 'origen /prueba') realizar mágico DWIM -mery y crear 'prueba' de sucursal local para usted, para lo que en sentido ascendente sería 'origen /prueba'.


El * (no branch) en la salida git branch significa que está en una rama sin nombre, en el estado denominado "HEAD desasociado" (HEAD apunta directamente a confirmar, y no es una referencia simbólica a alguna rama local). Si realizó algunas confirmaciones en esta rama sin nombre, siempre puede crear una sucursal local a partir de la confirmación actual:

 
git checkout -b test HEAD
    
1200
2014-02-24 19: 45: 54Z
  1. No es sorprendente, pero esta versión ha sido lanzada en los últimos años. Sabiendo que esta sintaxis puede ahorrar mucho tiempo ya que todavía hay mucha documentación antigua y subprocesos de comentarios flotantes. Alrededor de eso se sugiere el método más antiguo para hacer esto.
    2012-04-16 13: 24: 49Z
  2. "git moderno" - para el registro, (aprox.) ¿a qué versión se refiere? A veces tenemos que trabajar en sistemas que ejecutan distribuciones antiguas.
    2012-08-28 02: 30: 55Z
  3. "git moderno" en este contexto es git 1.6.6
    2013-03-19 20: 29: 52Z
  4. @ aidan Si obtienes una respuesta como error: pathspec 'branch_name' did not match any file(s) known to git., primero debes hacer una búsqueda de git.
    2013-10-18 00: 40: 10Z
  5. Usando git versión 1.8.3.msysgit.0 y esto no me funciona, no coincide con ningún archivo (s) conocido (s) de git, lo he hecho muchas capturas de git
    2013-12-03 23: 59: 44Z

En este caso, es probable que desee crear una sucursal local test que esté rastreando la sucursal remota test:

 
$ git branch test origin/test

En versiones anteriores de git, necesitaba una opción --track explícita, pero esa es la opción predeterminada ahora cuando se bifurca desde una rama remota.

    
529
2016-02-24 09: 06: 49Z
  1. Esto creará una rama local sin cambiarla.
    2013-10-16 07: 20: 02Z
  2. Aunque me puse fatal: Nombre del objeto ambiguo: 'origen /dev' - donde definitivamente existe una 'dev' de la rama sobre el origen - pero accidentalmente creé una rama llamado "origen /dev" en mi máquina (en mis intentos estúpidos anteriores para hacer esto bien, sin duda) ... ouch
    2013-12-04 00: 04: 50Z
  3. Esto me ha estado dando el error de error: no se pudo empujar algunos refs para sugerir: Actualizacionesfueron rechazados porque una punta de rama empujada está detrás de su sugerencia remota: contraparte. Echa un vistazo a esta rama y combina la sugerencia de cambios remotos: (por ejemplo, 'git pull') antes de volver a presionar. Sugerencia: consulte la 'Nota sobre los adelantos rápidos' en 'git push --help' para obtener más detalles.
    2014-06-18 20: 01: 53Z
  4. git branch test funciona para mí
    2017-02-17 15: 27: 20Z

¿Respuesta aceptada que no funciona para usted?

Si bien la primera y la respuesta seleccionada es técnicamente correcta , existe la posibilidad de que aún no haya recuperado todos los objetos y referencias del repositorio remoto. Si ese es el caso, recibirá el siguiente error:

 
$ git checkout -b remote_branch origin/remote_branch
  

fatal: git checkout: la actualización de rutas es incompatible con el cambio de ramas.
  ¿Intentó marcar 'origin /remote_branch' que no se puede resolver como confirmación?

Solución

Si recibe este mensaje, primero debe hacer un git fetch origin donde origin es el nombre del repositorio remoto antes de ejecutar git checkout remote_branch. Aquí hay un ejemplo completo con respuestas:

 
$ git fetch origin
remote: Counting objects: 140, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 69 (delta 36), reused 66 (delta 33)
Unpacking objects: 100% (69/69), done.
From https://github.com/githubuser/repo-name
   e6ef1e0..5029161  develop    -> origin/develop
 * [new branch]      demo       -> origin/demo
   d80f8d7..359eab0  master     -> origin/master

$ git checkout demo
Branch demo set up to track remote branch demo from origin.
Switched to a new branch 'demo'

Como puede ver, al ejecutar git fetch origin se recuperaron las sucursales remotas que aún no estábamos configurados para rastrear en nuestra máquina local. Desde allí, ya que ahora tenemos una referencia a la sucursal remota, simplemente podemos ejecutar git checkout remote_branch y obtendremos los beneficios del seguimiento remoto.

    
442
2017-05-23 12: 26: 35Z
  1. Agregaré una nota si tiene una rama separada localmente: asegúrese de haberla asociado con el repositorio remoto usando 'git remote add origin [the_path_to_your_repo /repo_name. git] '. Luego use 'git fetch origin' donde 'origen' significa el repositorio de origen con el que ha realizado la asociación.
    2015-02-02 05: 51: 14Z
  2. git checkout -b newbranch también funciona a la perfección en la creación y el pago de una nueva sucursal en función de la rama actual.
    2016-05-19 13: 41: 18Z
  3. Creo que este es el más actualizado (¡sigue cambiando $@ #! ing!). Git 2.5.5 Encontré que la única forma de ver realmente las ramas remotas era git ls-remote y la única forma de usar una es git checkout -b [branch] --track [remote/branch] ... y eso es después git pull [remote] [branch] funcionó. Es decir, en realidad sacó toda la rama, pero aún así no la enumera.
    2016-05-26 12: 51: 12Z
  4. y cuando esta respuesta tampoco funciona, vea esta .
    2018-01-16 12: 48: 42Z
  5. solo para agregar, si tiene git fetch other_remote only_branch, sigue recibiendo el error fatal. Tienes que git fetch other_remote sin el nombre de la rama. Diseño extraño.
    2018-12-29 02: 56: 29Z

Probé la solución anterior, pero no funcionó. Intenta esto, funciona:

 
git fetch origin 'remote_branch':'local_branch_name'

Esto capturará la rama remota y creará una nueva rama local (si no existe ya) con el nombre local_branch_name y rastreará la remota en ella.

    
230
2015-05-04 01: 45: 53Z
  1. Esto funcionó para mí cuando ni git fetch origin ni git remote update crearon sucursales locales. No estoy seguro de por qué.
    2014-09-11 08: 45: 56Z
  2. Esta fue la forma más directa de lograr lo que necesitaba, que era usar una rama remota (no maestra) para crear una nueva rama.
    2015-11-13 23: 15: 47Z
  3. Funcionó a la perfección, especialmente cuando se clonó una única rama desde un control remoto con varias sucursales.
    2016-10-17 10: 19: 54Z
  4. esto también funcionó para mí, donde las respuestas aceptadas y otras votadas no lo hicieron. Mi versión git es 2.5.0
    2017-02-17 12: 46: 30Z
  5. ¿Alguien tiene alguna idea de por qué esto funciona cuando todo lo demás no funciona? (Estoy en git 2.13.0)
    2017-06-19 18: 43: 40Z

Esto será DWIM para un origen remoto sin nombre ( documentación ):

 
$ git checkout -t remote_name/remote_branch

Para agregar un nuevo control remoto, primero deberá hacer lo siguiente:

 
$ git remote add remote_name location_of_remote
$ git fetch remote_name

El primero le dice a Git que el control remoto existe, el segundo recibe las confirmaciones.

    
105
2014-07-13 23: 09: 32Z

Uso:

 
git checkout -b <BRANCH-NAME> <REMOTE-NAME>/<BRANCH-NAME>

Otras respuestas no funcionan con el Git moderno en mi caso benigno. Es posible que deba extraer primero si la rama remota es nueva, pero no he comprobado ese caso.

    
100
2016-06-30 16: 09: 02Z
  1. ¿Te das cuenta de que esto es un extracto de esta respuesta
    2016-02-21 11: 03: 56Z
  2. Al mirarlo ahora, se superponen. Solo el mío es sucinto y te dice qué hacer en lugar de contar una historia. Supongo que puede ser más útil por lo tanto, especialmente para las versiones de git de hoy en día. Puedes rechazarlo si crees que es una mala respuesta.
    2016-02-21 11: 34: 02Z
  3. git fetch es la opción segura. Trate de buscar antes de usar el tirón. Ambos descargan contenido remoto, pero mientras que la captura no cambia el estado local, la extracción cambiará inmediatamente el estado local.
    2019-04-03 08: 07: 28Z

OK , la respuesta es fácil ... Básicamente ves la sucursal, ¡pero aún no tienes una copia local! ...

Necesitas fetch la rama ...

Puedes simplemente obtener y luego realizar el pago a la rama, usa el comando de una línea a continuación para hacerlo:

 
git fetch && git checkout test

También creé la siguiente imagen para que compartas las diferencias, observa cómo funciona fetch y cómo es diferente a pull:

 git fetch

    
80
2018-08-23 13: 30: 02Z
  1. No funciona si no hay una sucursal local test
    2018-04-25 03: 26: 59Z
  2. @ DmitriZaitsev sí, funcionará, si la rama remota está allí, y si se recupera, obtendrá la rama localmente ... git fetch & & git checkout test ... Así que esto funciona, a menos que no haya una sucursal remota, pero la pregunta que dice que ya existe una sucursal remota allí ...
    2018-04-25 05: 13: 02Z
  3. La forma en que veo la preguntaen, test parece una nueva rama, por lo que no es probable que esté presente localmente. De lo contrario, podría usarlo con un solo comando git pull.
    2018-04-25 12: 51: 36Z
  4. @ DmitriZaitsev, sí, es por eso que dije git fetch, que busca sucursales remotas que acaba de crear, pull puede traer otras cosas no deseadas, pero fetch hace que todas las sucursales estén disponibles Si ya tiene el repositorio localmente ...
    2018-04-25 13: 36: 31Z
  5. ¿El fetch sin pull no dejaría cambios en la copia recuperada pero no en la sucursal local, lo que hace que su sucursal local no esté actualizada?
    2018-04-25 14: 38: 40Z

Para clonar un repositorio Git, haz:

 
git clone <either ssh url /http url>

El comando anterior verifica todas las ramas, pero solo se inicializará la rama master. Si desea retirar las otras sucursales, haga lo siguiente:

 
git checkout -t origin/future_branch (for example)

Este comando verifica la rama remota y el nombre de su rama local será el mismo que la rama remota.

Si desea anular el nombre de su sucursal local en el proceso de pago:

 
git checkout -t -b enhancement origin/future_branch

Ahora el nombre de su sucursal local es enhancement, pero el nombre de su sucursal remota es future_branch.

Documentation

    
52
2014-07-13 23: 11: 32Z
  1. git clone < o bien ssh url /http url > - Funciona perfectamente para mí
    2014-12-16 16: 56: 14Z
  2. Sí, está en lo correcto. Gracias por su información, la actualizaré muy pronto @warvariuc
    2015-01-08 10: 45: 22Z
  3. Si el control remoto no tiene master, esto no va a funcionar.
    2016-09-27 16: 47: 26Z

Puedes probar

 
git fetch remote
git checkout --track -b local_branch_name origin/branch_name

o

 
git fetch
git checkout -b local_branch_name origin/branch_name
    
34
2014-07-13 23: 13: 33Z
  1. FYI, --track ya no es necesario en las versiones más recientes de git, porque está configurado de forma predeterminada, como se explica en esta respuesta anterior .
    2014-06-21 18: 03: 49Z

Primero, debes hacer:

git fetch # Si no conoce el nombre de la rama

 
git fetch origin branch_name

En segundo lugar, puedes extraer una sucursal remota en tu local de la siguiente manera:

 
git checkout -b branch_name origin/branch_name

-b creará una nueva rama con el nombre especificado de la rama remota seleccionada.

    
28
2017-05-21 11: 18: 05Z
  1. No entiendo -b. Si puede hacer "git checkout master", ¿por qué no puede hacer "git checkout origin /test"?
    2018-01-23 18: 16: 36Z
  2. - b para la nueva rama que es de origen /maestro
    2018-01-24 01: 13: 09Z

Comandos

 
git fetch --all
git checkout -b <ur_new_local_branch_name> origin/<Remote_Branch_Name>

son iguales a

 
 git fetch --all

y luego

 
 git checkout -b fixes_for_dev origin/development

Ambos crearán un latest fixes_for_dev desde development

    
27
2016-04-21 21: 58: 15Z

Uso el siguiente comando:

 
git checkout --track origin/other_remote_branch
    
25
2018-03-21 18: 36: 52Z
  1. Esta respuesta sería mucho más útil si explicas por qué lo estás usando de esta manera. es decir, por qué alguien debería usar '--track' y así sucesivamente ...
    2017-11-20 03: 19: 36Z

Si la rama se encuentra en un lugar diferente al remoto origin, me gusta hacer lo siguiente:

 
$ git fetch
$ git checkout -b second/next upstream/next

Esto llevará a cabo el pago de la sucursal next en el control remoto upstream a una sucursal local llamada second/next. Lo que significa que si ya tienes una sucursal local llamada a continuación, no entrará en conflicto.

 
$ git branch -a
* second/next
  remotes/origin/next
  remotes/upstream/next
    
23
2013-05-30 05: 54: 57Z

git branch -r dice que el nombre del objeto no es válido, porque ese nombre de rama no está en la lista de sucursales locales de Git. Actualice su lista de sucursales locales desde el origen con:

 
git remote update

Y luego intenta volver a comprobar tu rama remota.

Esto funcionó para mí.

Creo que git fetch atrae a todas las ramas remotas, que no es lo que buscaba el póster original.

    
16
2014-07-13 23: 12: 49Z
  1. FYI, git remote update también buscará todas las sucursales remotas .
    2014-06-21 17: 59: 37Z

ninguna de estas respuestas funcionó para mí. esto funcionó:

git checkout -b feature/branch remotes/origin/feature/branch

    
16
2018-07-10 02: 11: 25Z
  1. gracias. Me preguntaba si tenía que usar la ruta completa ( remotes /origin /feature /branch ) que vi en git al llamar al comando git branch -a, pero no estaba seguro, así que simplemente usé git checkout -b apps/FEATURE/branch origin/apps/FEATURE/branch y parecía funcionar. Mensaje: Branch 'apps/FEATURE/branch' set up to track remote branch 'apps/FEATURE/epicBranch' from 'origin'. Switched to a new branch 'apps/FEATURE/branch'
    2018-07-27 15: 41: 04Z
  2. Genial, gracias @brianyang
    2018-12-20 11: 44: 32Z

git fetch && git checkout your-branch-name

    
15
2014-03-26 07: 00: 14Z

Simplemente ejecute git checkout con el nombre de la rama remota. Git creará automáticamente una sucursal local que rastrea el remoto:

 
git fetch
git checkout test

Sin embargo, si ese nombre de rama se encuentra en más de un control remoto, esto no funcionará ya que Git no sabe cuál usar. En ese caso, puede utilizar cualquiera de las dos:

 
git checkout --track origin/test

o

 
git checkout -b test origin/test

En 2.19 , Git aprendió el checkout.defaultRemote configuración, que especifica un remoto a predeterminado cuando se resuelve dicha ambigüedad.

    
13
2018-09-13 12: 21: 19Z

Estaba atrapado en una situación al ver error: pathspec 'desired-branch' did not match any file(s) known to git. por todas las sugerencias anteriores. Estoy en git version 1.8.3.1.

Así que funcionó para mí :

 
git fetch origin desired-branch
git checkout -b desired-branch FETCH_HEAD

La explicación detrás es que me he dado cuenta de que al obtener la rama remota, se buscó en FETCH_HEAD:

 
$ git fetch origin desired-branch
From github.com:MYTEAM/my-repo
    * branch            desired-branch -> FETCH_HEAD
    
13
2018-10-10 21: 52: 44Z

El comando git remote show <origin name> mostrará una lista de todas las ramas (incluidas las ramas sin seguimiento). Luego puede encontrar el nombre de la sucursal remota que necesita obtener.

Ejemplo:

 
$ git remote show origin

Utilice estos pasos para obtener ramas remotas:

 
git fetch <origin name> <remote branch name>:<local branch name>
git checkout <local branch name > (local branch name should the name that you given fetching)

Ejemplo:

 
$ git fetch origin test:test
$ git checkout test
    
10
2018-03-21 18: 34: 56Z
  1. @ hallski respondió que no funcionaban las versiones 2.15.1, pero he reducido el archivo .git, solo clonando 1 rama y filtrando el historial con el indicador --depth. por ejemplo, $ git clone -b release --single-branch --depth 5 https://github.com/user/repo.git No se enumera la información $ git remote show origin, no se enumeran todas las sucursales remotas con repositorios clonados de una sola rama.
    2018-01-30 13: 52: 37Z

Otros chicos y chicas dan las soluciones, pero quizás te pueda decir por qué.

  

prueba de comprobación de git que no hace nada

Does nothing no es igual a doesn't work, así que supongo que cuando escribe 'git checkout test' en su terminal y presiona la tecla Intro, no aparece ningún mensaje y no se produce ningún error. Estoy en lo correcto?

Si la respuesta es 'sí', te puedo decir la causa.

La causa es que hay un archivo (o carpeta) llamado "prueba" en su árbol de trabajo.

Cuando se haya analizado git checkout xxx,

  1. Git ve el xxx como un nombre de rama al principio, pero no hay ninguna rama llamada prueba.
  2. Entonces Git piensa que xxx es una ruta, y afortunadamente (o desafortunadamente), hay un archivo llamado prueba. Entonces, git checkout xxx significa descartar cualquier modificación en el archivo xxx.
  3. Si tampoco hay un archivo llamado xxx, Git intentará crear el xxx de acuerdo con algunas reglas. Una de las reglas es crear una rama llamada xxx si existe remotes/origin/xxx.
8
2018-03-21 18: 39: 53Z
  1. gracias, seguí intentando averiguar por qué git no estaba haciendo nada.
    2018-11-26 19: 05: 43Z

Para obtener sucursales recién creadas

 
git fetch

Para cambiar a otra rama

 
git checkout BranchName
    
7
2018-07-07 03: 59: 41Z

Puede iniciar el seguimiento de todas las ramas remotas con el siguiente script de Bash:

 
#!/bin/bash
git fetch --all
for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`
  do git branch -f --track "$branch" "origin/$branch"
done

Aquí también hay una versión de una sola línea:

 
git fetch --all; for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`; do git branch --track "$branch" "origin/$branch" ; done ;
    
6
2018-03-21 18: 37: 49Z

Recupera el control remoto y verifica la rama.

 
git fetch <remote_name> && git checkout <branch_name> 

Por ejemplo:

  

origen de obtención de git & & Función de comprobación de git /XYZ-1234-Agregar-alertas

6
2019-03-12 09: 10: 57Z

Por favor, siga el comando para crear una carpeta vacía. Ingresa eso y usa este comando:

 
saifurs-Mini:YO-iOS saifurrahman$ git clone your_project_url
Cloning into 'iPhoneV1'...
remote: Counting objects: 34230, done.
remote: Compressing objects: 100% (24028/24028), done.
remote: Total 34230 (delta 22212), reused 15340 (delta 9324)
Receiving objects: 100% (34230/34230), 202.53 MiB | 294.00 KiB/s, done.
Resolving deltas: 100% (22212/22212), done.
Checking connectivity... done.
saifurs-Mini:YO-iOS saifurrahman$ cd iPhoneV1/
saifurs-Mini:iPhoneV1 saifurrahman$ git checkout 1_4_0_content_discovery
Branch 1_4_0_content_discovery set up to track remote branch 1_4_0_content_discovery from origin.
Switched to a new branch '1_4_0_content_discovery'
    
1
2016-06-30 16: 09: 52Z

Si el nombre de la rama remota comienza con caracteres especiales, debe usar comillas simples a su alrededor en el comando de pago o, de lo contrario, git no sabrá de qué rama está hablando.

Por ejemplo, traté de verificar una sucursal remota llamada #9773 pero el comando no funcionó correctamente, como se muestra en la siguiente imagen:

 ingrese la descripción de la imagen aquí

Por alguna razón, me pregunté si el símbolo nítido (#) podría tener algo que ver con eso, y luego intenté rodear el nombre de la rama con comillas simples, como '#9773' rathen que solo #9773, y funcionó bien.

 
$ git checkout -b '#9773' origin/'#9773'
    
1
2018-11-07 11: 17: 30Z
  1. En muchos shells de Unix, el carácter # se usa para comentarios, por lo que cualquier cosa después del # se ignorará. Esto es una cosa de concha y no algo específico de git. Usar citas de una barra invertida antes de # debería ser suficiente.
    2018-11-07 12: 12: 59Z

Usa fetch para jalar todo tu control remoto

 
   git fetch --all

Para listar sucursales remotas:

 
   git branch -r

Para enumerar todas sus sucursales

 
   git branch -l
   >>outpots like-
     * develop
       test
       master

Para finalizar /cambiar una rama

 
   git checkout master
    
- 1
2019-06-07 16: 21: 45Z
  1. Probado git branch -l y no se mostró ninguna rama remota.
    2019-06-04 16: 36: 48Z
  2. use git pull --all o git fetch --all
    2019-06-07 16: 17: 21Z
  3. Sí, y después de eso, git branch -l todavía muestra solo las ramas locales . Parece que funciona exactamente como git branch sin -l, ¿cuál es la razón para -l?
    2019-06-08 01: 13: 10Z
  4. Además, su respuesta no responde la pregunta: master no es una rama remota.
    2019-06-08 01: 15: 16Z
  5. -l flag for list. También puedes usar --list
    2019-06-09 02: 42: 23Z
fuente colocada aquí