tutorial tag tab remote name example commits commands git git-push git-pull

tag - git pull dice actualizado, pero git push rechaza el avance no rápido



git tag commits (3)

Acabo de sacar una nueva sucursal, hice algunos cambios locales, me comprometí y traté de impulsar. Me dieron este error ! [rejected] groups -> groups (non-fast forward) ! [rejected] groups -> groups (non-fast forward) Así que traté de tirar, pero me dijeron que Already up-to-date.

Esto es lo que obtengo tirando y empujando.

~/dev$ git pull origin groups Already up-to-date. ~/dev$ git push origin groups To /mnt/ebs/git/repo.git ! [rejected] groups -> groups (non-fast forward) error: failed to push some refs to ''/mnt/ebs/git/repo.git''

¿Alguien puede explicar cómo puede estar sucediendo esto y cómo puedo solucionarlo?


Cuando sacó la rama, ¿usó la opción "--track" (para mantener su rama local rastreando la rama remota). Si no lo hizo, puede explicar que el comando "fusionar" no funciona.

Puede hacer la fusión manualmente:

git fetch git merge origin/groups

Para comparar repos locales y remotos, te sugiero este comando (agrégalo en un alias, es útil):

git log --graph --oneline --all --decorate

Imprimirá el árbol del historial del proyecto, mostrando las etiquetas de las ramas. Entonces verás dónde divergen tu rama y la rama de origen.

Nota: si desea conservar un historial lineal, en lugar de una "fusión", puede hacer una "rebase" de su sucursal local en el control remoto antes de presionar:

git rebase origin/groups git push origin groups


Esta no es una respuesta a la pregunta. Tuve un problema diferente con el mismo mensaje de error.

Mi sucursal local no tenía la rama remota para que los cambios se configuraran correctamente [git pull]. Esto fue evidente a partir de la o / p de git remote show origin . Entonces, tuve que usar git pull origin <branch_name> lugar de git pull para obtener los cambios.


Vine aquí con un problema diferente.

Mi git fue configurado para empujar todas las ramas. Yo estaba en una rama FOO, pero también estaba tratando de enviar master, que no estaba actualizado. El truco fue notar que estaba tratando de empujar al maestro:

To [email protected]:repo ! [rejected] master -> master (non-fast-forward)

Agregué lo siguiente a mi .gitconfig para que solo presione la rama actual de manera predeterminada:

[push] default = current