Original article: Git List Remote Branches
Hay cuatro comandos diferentes de Git que puedes usar para enumerar todas las ramas remotas de repositorio. Le mostraré ejemplos de código de cada uno de estos.
Todos los ejemplos están disponibles en el repositorio abierto de freeCodeCamp.
Comando #1: git branch -r
Este comando te mostrará ramas remotas. La bandera -r
es la abreviación de --remotes
.
freecodecamp➜~/web/freeCodeCamp(main)» git branch -r
Output:
origin/HEAD -> origin/main
origin/i18n-sync-client
origin/main
origin/prod-current
origin/prod-staging
origin/renovate/react-i18next-11.x
origin/renovate/typescript-eslint-monorepo
Este es el comando que uso personalmente. Entonces, si lo deseas, puedes dejar de leer aquí y usar git branch -r
siempre que quieras enumerar las remas remotas en Git.
Pero para completar, he incluido otros tres comandos que puedes usar y que devuelven listas diferentes.
Comando #2: git ls-remote --heads
Este comando regresa la misma información, pero también incluye el hash de las ramas remotas.
freecodecamp➜~/web/freeCodeCamp(main)» git ls-remote --heads
Output:
From git@github.com:freeCodeCamp/freeCodeCamp
12d742a4f0dfdcfae25d1b71aa738b4e91bfcb61 refs/heads/i18n-sync-client
f05262b823f5a578787e5387357383f09df9c5c1 refs/heads/main
6d89576b6c588e3e3daa90bdaf226a6f5cc3d9c5 refs/heads/prod-current
6d89576b6c588e3e3daa90bdaf226a6f5cc3d9c5 refs/heads/prod-staging
750af5a018008c9a7eac683b064adc016b990659 refs/heads/renovate/react-i18next-11.x
08e06f10363ab1d33156b83b2b01cad005c3a2cf refs/heads/renovate/typescript-eslint-monorepo
Comando #3: git ls-remote
Este comando muestra no solo los nombres de los repositorios remotos, sino también su información de referencia, incluido el hash de confirmación de Git.
freecodecamp➜~/web/freeCodeCamp(main)» git ls-remote
Output:
! [origin/HEAD] chore(deps): update dependency @types/validator to v13.7.3
! [origin/i18n-sync-client] fix(client): prevent lower jaw breaking on code evaluation (#46154)
! [origin/main] chore(deps): update dependency @types/validator to v13.7.3
! [origin/prod-current] fix(curriculum): don't block fragment links (#46246)
! [origin/prod-staging] fix(curriculum): don't block fragment links (#46246)
! [origin/renovate/react-i18next-11.x] fix(deps): update dependency react-i18next to v11.17.0
! [origin/renovate/typescript-eslint-monorepo] chore(deps): update typescript-eslint monorepo to v5.27.0
-------
Hay muchos resultados con formato especial, así que solo incluiré una captura de pantalla para darte una idea:
Comando #4: git show-branch -r
La razón principal por la que usarías este comando es porque muestra casi todo, por lo que puedes presionar ctrl+f
para encontrar un hash en particular.
No recuerdo haber usado esto antes.
freecodecamp➜~/web/freeCodeCamp(main)» git show-branch -r
Output:
From git@github.com:freeCodeCamp/freeCodeCamp
f05262b823f5a578787e5387357383f09df9c5c1 HEAD
12d742a4f0dfdcfae25d1b71aa738b4e91bfcb61 refs/heads/i18n-sync-client
f05262b823f5a578787e5387357383f09df9c5c1 refs/heads/main
6d89576b6c588e3e3daa90bdaf226a6f5cc3d9c5 refs/heads/prod-current
6d89576b6c588e3e3daa90bdaf226a6f5cc3d9c5 refs/heads/prod-staging
750af5a018008c9a7eac683b064adc016b990659 refs/heads/renovate/react-i18next-11.x
08e06f10363ab1d33156b83b2b01cad005c3a2cf refs/heads/renovate/typescript-eslint-monorepo
36380c5a67938de35d7011e33855d45bb545300b refs/pull/10/head
d12e25f250b91afc01a43af0067d7026c39473fa refs/pull/100/head
56ff814f24385e5f76dc29bc4276c84e38ca9c5f refs/pull/10006/head
f84bb9a94ea33e0994e2d40c779416f3caa3aa04 refs/pull/10007/head
7193b9c725ed97cd8cc99aba72ceffa40a79c8f8 refs/pull/10008/head
[30,000 more lines]
9656d9030eb472341eebf5e0fb46a3538740701b refs/pull/9991/head
0545010ab9e1dac4aedca071669b6a86b35cabdc refs/pull/9995/head
b5365d3106e188fa6782388221b1184dfb2ffc88 refs/pull/9995/merge
0545010ab9e1dac4aedca071669b6a86b35cabdc refs/pull/9996/head
b5365d3106e188fa6782388221b1184dfb2ffc88 refs/pull/9996/merge
7e35af7b67c22b502cdfdf4663fafc788e75eeec refs/pull/9997/head
d8f3a9cb2e6d41a95f610ac72efae30ca9952d6f refs/remotes/origin/pr-39112-with-my-additional-commits-for-tests
d3aaa5a11e09f5996cfd5eb2f8b55f63785b4947 refs/remotes/upstream/master
56d78a11198a0d244bd131a8b9386b247212c5a1 refs/remotes/upstream/production-current
b73c7eac62d30fdc5e533f617dcd1b5e95306984 refs/remotes/upstream/staging
Para el repositorio FreeCodeCamp, este comando devolvió más de 30.000 líneas de ramas. Por tanto, no recomendaría usar este comando a no ser que sea absolutamente necesario verlo todo. 😅
Eso es todo. Espero que tengas un día fantástico y feliz codificación.