¿Hay alguna manera de configuración para configurar esto sin tener que especificar qué rama?¿Cómo se puede extraer solo la rama actual?
Respuesta
Git ya solo tira de la rama actual. Si tiene una bifurcación configurada como una bifurcación de seguimiento, no necesita especificar la bifurcación remota. git branch --set-upstream localbranch reponame/remotebranch
configurará la relación de seguimiento. A continuación, emita git pull [--rebase]
y solo se actualizará esa rama.
Por supuesto, todas las ramas de seguimiento remoto y todas las referencias para el control remoto se actualizarán, pero solo se modificará la rama de seguimiento local.
que acabo de hacer de esta manera:
git pull origin "$(git branch | grep -E '^\* ' | sed 's/^\* //g')"
o
git pull origin $(git rev-parse --abbrev-ref HEAD)
Esto extrae la rama actual de git branch
, y tira de esa rama de origen remoto.
Tenga en cuenta que, como dijo Seth Robertson, cuando no se dan argumentos solo se modifica la rama actual pero se obtienen todas las ramas remotas. No quiero buscar todas las sucursales remotas, así que lo hice de esta manera.
poco complicado ... pero funciona. +1 – shashwat
'git branch' en realidad no se debe analizar para obtener información de la sucursal. Esa información está disponible con 'git rev-parse' haciendo el comando:' git pull origen $ (git rev-parse --abbrev-ref HEAD) ' –
@ayke He añadido la respuesta de Paul DelRe a la tuya, ya que también funcionó, espero a los dos no les importa –
probar esto por la nueva versión de Git:
$ git config --global push.default current
No creo que pull.default exista. Consulte [git-scm] (http://git-scm.com/docs/git-config.html) o [kernel.org] (https://www.kernel.org/pub/software/scm /git/docs/git-config.html). – Mort
@Mort ¿Has probado todavía? Funcionó para mí: D –
Sí. git 2.3.4 en Linux recupera todas las ramas incluso con el anterior 'pull.default = current'. Veo que mi 'git clone' también agrega por defecto' remote.origin.fetch = + refs/heads/*: refs/remotes/origin/* 'pero es bastante estándar. – Mort
La bandera --set-upstream
es obsoleto y se eliminará. Por lo tanto, utilizar --track
o --set-upstream-to
Ejemplo: Si desea configurar la información de seguimiento para esta rama puede hacerlo con:
git branch --set-upstream-to=<remote>/<branch> develop
Podría estar en desuso (¿fuente?), Pero '--set-upstream-to =' sigue siendo mencionado por git cuando no conoce su información de seguimiento. Sin mención de desaprobación. –
@AdrienGiboire Aquí hay alguna información acerca de la desaprobación: https://jira.atlassian.com/browse/SRCTREEWIN-588 –
Malo, me di cuenta de que leí mal su publicación. –
Sí, hay una configuración que puede ser cambiado en .gitconfig
, por ejemplo:
[push]
default = current
lo que empujaría la rama actual para actualizar una rama con el mismo nombre en el extremo receptor.
Comprobar por:
git config --global --get push.default
Ver: git-config.
@DavidSanders Eliminado, gracias. – kenorb
- 1. Mostrar solo la rama actual en Git
- 2. ¿Cómo encontrar qué rama seguimiento de la rama actual
- 3. Actualizando la rama actual desde la rama padre
- 4. Git: No se puede ver la nueva rama remota
- 5. ¿Cómo se puede extraer la identificación del hardware con Python?
- 6. ¿Cómo obtener la rama actual/activa con LibGit2Sharp?
- 7. ¿Cómo se relacionan los cambios de la rama actual con los cambios que se fusionan?
- 8. Clonar solo una rama
- 9. ¿Cómo cambiar la rama actual a principal en Egit?
- 10. RVM "ERROR: no se puede extraer la sucursal". Un usuario
- 11. negarse git para ir a buscar en la rama actual
- 12. ¿Cómo presionar solo una rama en Hg?
- 13. Cómo extraer una eliminación de rama en git?
- 14. ¿se puede extraer el editor de diseño del eclipse y ejecutarlo solo?
- 15. ¿Cómo se puede saber si la sesión de la terminal actual está en la pantalla GNU?
- 16. ¿Cómo puedo extraer la imagen de la cuenta del usuario actual?
- 17. git: Confirmar el trabajo actualmente en curso en la rama actual a una nueva rama
- 18. ¿Cómo muevo mi trabajo actual a una rama temática?
- 19. No se puede determinar el directorio actual
- 20. Cambiar la rama actual en el repositorio de git bare
- 21. Git: restablecer otra rama a la actual sin un checkout
- 22. No se puede eliminar una rama remota creado involuntariamente
- 23. git-flow: cómo extraer la rama de liberación desde el origen?
- 24. ¿Se puede extraer el valor n-child en JQuery?
- 25. Extraer un solo valor de la respuesta de JSON Python
- 26. Git se bifurca de una revisión anterior y deshace la rama actual
- 27. Hacer una rama TFS de solo lectura
- 28. Extraer solo un directorio de tar
- 29. Cómo reemplazar la rama principal con la rama de experimento
- 30. ¿Cómo puedo extraer solo el texto del html
bien, y tal vez un poco extraño porque "git push" (por defecto) intenta empujar todas las ramas (con el mismo nombre remoto). –
@AlessandroDs Bueno, configuré push.default en la corriente ascendente por esa misma razón. El nuevo valor predeterminado para push.default es "simple", que nuevamente solo actualiza la rama actual, por lo que es mucho más paralela a lo que hace pull. –
@SethRobertson: Gracias por la respuesta, ¿pueden dar más detalles sobre esta última parte? ¿Por modificado, quiere decir que los cambios no se obtienen del repositorio remoto? Estamos descubriendo que con varias ramas a ~ 100MB cada una, cuando hacemos un pull obtenemos varias descargas ~ 100MB ocurriendo (básicamente, todas las ramas). – danjah