He estado usando github durante un período relativamente corto, y siempre he usado al cliente para realizar commits y pulls. Decidí probarlo desde el git bash ayer, y creé con éxito un nuevo repositorio y archivos confirmados.
Hoy realicé cambios en el repositorio desde otra computadora, cometí los cambios y ahora estoy de vuelta en casa y realicé una git pull
actualización de mi versión local y obtengo esto:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
El único contribuyente a este repositorio soy yo y no hay sucursales (solo un maestro). Estoy en Windows y he realizado la extracción de git bash:
estado de git:
$ git status
# On branch master
nothing to commit, working directory clean
rama de git:
$ git branch
* master
¿Qué estoy haciendo mal?
git remote -v
? ¿Qué dice eso?git pull
.git pull --set-upstream-to=origin/master master
es posible. Vea mi respuesta a continuaciónRespuestas:
Puede especificar qué rama desea extraer:
O puede configurarlo para que su rama maestra local rastree la rama maestra github como una cadena ascendente:
Este seguimiento de bifurcación se configura automáticamente cuando clona un repositorio (solo para la bifurcación predeterminada), pero si agrega un control remoto a un repositorio existente, debe configurar el seguimiento usted mismo. Afortunadamente, el consejo dado por git hace que sea bastante fácil recordar cómo hacerlo.
fuente
git branch -u origin/master
, suponiendo que ya haya revisado master. Si no,git branch -u origin/master master
funcionará.--set-upstream-to=
sintaxis más clara . (que es el reemplazo para--set-upstream
)fetch
habrá perdido. De ahí la necesidad de configurarlo de nuevo. :)Ver: etiqueta de pago git, git pull falla en la rama
Si como yo necesita hacer esto todo el tiempo, puede configurar un alias para hacerlo automáticamente agregando lo siguiente a su
.gitconfig
archivo:Cuando vea el mensaje
There is no tracking information...
, ejecute:Gracias a https://zarino.co.uk/post/git-set-upstream/
fuente
.gitconfig
en una línea (puede modificarse para configuraciones locales u otras en consecuencia):git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
La respuesta de ComputerDruid es excelente, pero no creo que sea necesario configurarlo manualmente a menos que lo desee. Estoy agregando esta respuesta porque la gente podría pensar que es un paso necesario.
Este error desaparecerá si especifica el control remoto que desea extraer, como se muestra a continuación:
Tenga en cuenta que
origin
es el nombre del control remoto ymaster
el nombre de la sucursal.1) Cómo verificar el nombre del control remoto
2) Cómo ver qué ramas están disponibles en el repositorio.
fuente
Me encuentro con este mensaje exacto a menudo porque creo una sucursal local
git checkout -b <feature-branch-name>
sin crear primero la sucursal remota.Después de que todo el trabajo se terminó y se comprometió localmente, la solución fue la
git push -u
que creó la rama remota, empujó todo mi trabajo y luego la URL de solicitud de fusión.fuente
git push -u origin <my-feature-branch-name>
para crear la rama remota y empujar mi trabajoEstaba probando los ejemplos anteriores y no pude sincronizarlos con una rama (no maestra) que había creado en una computadora diferente. Para el fondo, creé este repositorio en la computadora A (git v 1.8) y luego cloné el repositorio en la computadora B (git 2.14). Hice todos mis cambios en la compilación B, pero cuando intenté colocar los cambios en la computadora, la IA no pudo hacerlo, obteniendo el mismo error anterior. Similar a las soluciones anteriores, tuve que hacer:
ligeramente diferente pero con suerte ayuda a alguien
fuente
tratar
Espero que esta respuesta ayude originalmente respondida aquí https://stackoverflow.com/a/55015370/8253662
fuente
Con Git 2.24, no tendrás que hacer
Podrás hacer:
Ver más en " opción predeterminada de uso remoto y sucursal
-u
- funciona conpush
pero nopull
".fuente
1) git branch --set-upstream-to = origin /
<master_branch>
feature /<your_current_branch>
2) tirón de git
fuente
$ git branch --set-upstream-to=heroku/master master
y¡trabajó para mi!
fuente
Lo mismo me sucedió antes cuando creé una nueva rama git sin empujarla a su origen.
Intente ejecutar esas dos líneas primero:
Entonces:
¡Debería estar bien ahora!
fuente
Esto sucede debido a que la rama actual no tiene seguimiento en la rama del control remoto. para que puedas hacerlo de 2 maneras.
fuente
git branch --set-upstream-to = origin / main
fuente