Cuando probé 'git push origin master' en el repositorio remoto de mi disco externo, se produjo una advertencia de git que indicaba que en las próximas versiones de git se rechazaría por defecto el repositorio de pago y envío. En el disco externo, he revisado el proyecto y deseo enviar los cambios que hice en mi computadora a estos repositorios. ¿'Git Push Origin Master' no es el correcto? ¿Tengo que 'git pull ...' en el repositorio en mi disco externo? Entonces, ¿no puedo presionar cambios sino simplemente sacarlos? ¿Solo trabajar con un repositorio "simple" es diferente? Entonces, si el repositorio en mi disco externo era un repositorio desnudo, ¿podría hacerle cambios? ¿Lo entiendo correctamente?Git push solo para repositorios desnudos?
Respuesta
No debe presionar en un repositorio no vacío porque presionar solo actualizará el estado interno del repositorio, y no afectará las copias de los archivos que se encuentran en el disco. Por lo tanto, podría tener problemas si comienza a trabajar en ese repositorio sin antes actualizar (a través de git checkout
) las copias en disco del estado de los archivos en el repositorio.
Lea atentamente la advertencia. La nueva prohibición predeterminada solo está en empujar a la rama actualmente desprotegida en un repositorio no desnudo. Está perfectamente bien presionar a cualquier otra rama en un repositorio no vacío.
La razón de esto es que el proceso de inserción no tiene acceso directo al árbol de trabajo por lo que el índice y el encabezado de rama se cambian bajo el árbol de trabajo. Cuando vaya posteriormente al árbol de trabajo, parece que el árbol de trabajo ha deshecho los cambios introducidos mezclados con los cambios que estaban genuinamente en desarrollo. Esto hace que sea muy difícil separar los dos conjuntos de cambios.
Empujar a otras ramas no tiene tales inconvenientes. A continuación, puede ir a ese repositorio y combinar esos cambios en la rama desprotegida si lo desea.
No entendí esta respuesta hasta que leí [empuje de git ready] solo a repositorios desnudos] (http://gitready.com/advanced/2009/02/01/push-to-only-bare-repositories.html) y [todo acerca de repos "sin datos": qué, por qué y cómo solucionar un problema no descubierto] (http://sitaramc.github.com/concepts/bare.html) (especialmente el "sí, sí, pero ¿por qué? ¿necesito un repositorio vacío? "sección). Ahora, sin embargo, ¡lo hago! –
¿Tenemos la capacidad de empujar en la ramificación no desprotegida y luego usar el gancho de origen de la fusión de post-recepción con la rama se actualizó? –
- 1. Git ignore push solo
- 2. ¿El registro de git --branch tiene un comportamiento diferente en los repositorios normales y desnudos?
- 3. Cómo configurar Git para evitar accidental git push
- 4. xcode git pull/push crash
- 5. ¿Por qué "git push helloworld + master: master" en lugar de solo "git push helloworld"?
- 6. Git: Stop git push
- 7. 'git push'
- 8. git fusionar diferentes repositorios?
- 9. Git push rechazado
- 10. git push, no push all local commits
- 11. Git post-receive para pagar solo los archivos que se han modificado/agregado en el push?
- 12. repositorios git anidados?
- 13. Git pre-push hooks
- 14. Tener múltiples repositorios Git
- 15. SVN Monitor como software para repositorios Git
- 16. grep para cosas en múltiples repositorios git
- 17. ¿Funciona `git push` como abreviatura de` git push origin newfeature`?
- 18. Administración de muchos repositorios git
- 19. Cómo sincronizar dos repositorios git
- 20. git cómo desactivar push
- 21. ¿Cómo configurar repositorios públicos de git?
- 22. git push rejected
- 23. Flujo de trabajo del integrador. ¿Es seguro fetch-rebase-push para repositorios remotos?
- 24. git - push predeterminado para --recurse-submodules = check
- 25. git push: objetivo establecido para la rama
- 26. Incapaz de Git push maestro para Github
- 27. git post-push hook?
- 28. Git Push Not Working
- 29. git push -f vs. +
- 30. Procedimiento para clonar repositorios Git que usan el subárbol
Entonces, presionar al repos no es exactamente un tirón del repositorio? –
convirtiéndose en Gurú: Correcto; un empuje es efectivamente lo opuesto a una búsqueda. Pull = fetch + merge en la rama actual. – ebneter
La clave es que un jalón también actualiza los archivos en el árbol de trabajo (los archivos "en disco"), que ni un empuje ni una extracción realizan. – mipadi