Me gusta al combinar errores o errores de rebase. ¿Tiene un código de error único?¿Git devuelve códigos de error de devolución específicos?
Respuesta
Configuro una prueba para fallar. Esto es lo que tengo:
$ git merge newbranch
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
$ echo $?
1
Git vuelve 0
cuando se fusione correctamente, como se esperaba.
En resumen, no. Verá el código de salida 1 para los errores y 0 para el éxito.
De un rápido grepping de la fuente, hay algunos de los esperados 127 y 128 para sus propósitos específicos (comando no encontrado, errores ya informados), y algunos códigos inusuales en algunos lugares, pero para la ejecución de la errores de fábrica, todo es exit(1)
.
Sí, también he visto 127 y 128. De todos modos, gracias. – poymode
Esto es muy molesto para la depuración de los enganches de confirmación. ¿Cuál es el punto de tener un código de salida en sus git hooks si una confirmación fallida siempre devolverá 1 en lugar de su código de salida de gancho? –
El error 128, sin mensaje de error de git, podría ser un problema general para "un problema inesperado".
Estaba obteniendo esto en operaciones que necesitaban modificar archivos bajo .git (por ejemplo, "git checkout -- myfile
" para revertir un archivo modificado) por un usuario diferente. (En mi caso "chmod -R og+w .git
" fijo que, naturalmente, no lo haga a menos que entienda las implicaciones de seguridad para su caso!)
Operando git status
en un no-git repo devuelve 128, no 1, que es útil para determinando rápidamente si existe o no un repositorio de git.
- 1. ADB Códigos de error
- 2. Diseñando códigos de error
- 3. Archivos específicos de GIT Branch?
- 4. HttpWebRequest.GetResponse(): ¿qué códigos de estado específicos causan una excepción?
- 5. Submódulos de Git: excluir archivos/directorios específicos
- 6. NSURLErrorDomain descripción de códigos de error
- 7. git update-index --assume-unchanged devuelve el error
- 8. Obtenga códigos de error mientras usa psql
- 9. códigos de error Boost descripción legible
- 10. Traducir códigos de error COM en C#
- 11. Códigos de idioma chino
- 12. ¿Es mejor usar excepciones en una clase de "validación" o códigos de estado de devolución?
- 13. Cómo establecer permisos de ruta específicos usando Git?
- 14. Versiones de datos con git: diff personalizado para archivos específicos
- 15. proceso de sustitución Bash y salida códigos
- 16. Devuelve maestro de origen de Git push Error no puede generar ... ¿por qué?
- 17. Lista de todos los códigos de error OLE
- 18. Códigos de error dentro de excepciones vs excepciones jerarquía
- 19. git-svn rebase de error
- 20. Descripción de códigos de error en Python y uso de nombres de error significativos
- 21. Push to Gist que devuelve un error extraño
- 22. Javascript str.search ("?") Devuelve cuantificador de error inesperado
- 23. jQuery.ajax devuelve error: Token inesperado con mensaje de error: parseerror?
- 24. ¿cómo puedo activar la devolución de llamada de error ajax en la devolución de llamada exitosa?
- 25. excluir archivos específicos al empujar a un repositorio Git específica
- 26. Crear un parche que incluya archivos específicos en git
- 27. insertNewObjectForEntityForName: inManagedObjectContext: ¿devuelve error NSNumber?
- 28. didSelectRowAtIndexPath devuelve un error IndexPath
- 29. jQuery devolución de llamada de error de Ajax no disparar
- 30. ¿Dónde se resuelven los códigos de error de validación Spring MVC?
Problema es que los documentos para 'git merge' (en 1.7.4 - http://www.kernel.org/pub/software/scm/git/docs/v1.7.4/git-merge.html) solamente mencionar el estado de devolución en un solo lugar (si usa "--ff-only" y no puede hacer una confirmación de reenvío rápido, devuelve un valor distinto de cero - no dice explícitamente lo que se devuelve si todo funciona o si hubo un conflicto de fusión –
@Matt: los comandos de Git son muy buenos para devolver cero para el éxito y no cero (generalmente 1). De lo contrario, puede encadenar comandos juntos de forma segura con '&&'; así es como se implementan sus pruebas. – Cascabel
Git no es bueno para devolver códigos de salida consistentes y sensibles. Por ejemplo, hacer commit de git sin cambios saldrá con el código 1, pero diablos, es * no * error. – pfalcon