Utilizo pestañas para sangrar en mis programas de Python, pero me gustaría colaborar (usando git) con personas que usan espacios en su lugar.
¿Hay alguna manera para que git convierta automáticamente entre espacios y pestañas (por ejemplo, 4 espacios = 1 pestaña) al presionar / recuperar? (similar a la conversión CR / LF)
git
tabs
indentation
Olivier Verdier
fuente
fuente
Respuestas:
Aquí está la solución completa:
En su repositorio, agregue un archivo
.git/info/attributes
que contenga:Linux / Unix
Ahora ejecuta los comandos:
OS X
Primero instale coreutils con brew:
Ahora ejecuta los comandos:
Todos los sistemas
Ahora puede consultar todos los archivos de su proyecto. Puedes hacer eso con:
y todos los archivos de python ahora tendrán pestañas en lugar de espacios.
Editar : cambió el comando de pago forzado. Debes comprometer tu trabajo primero, por supuesto.
fuente
homebrew
y luego ejecutarbrew install coreutils
).Sí, una posible solución es usar un controlador de filtro de atributos git (consulte también el libro GitPro ), para definir un mecanismo de borrón / limpieza.
De esa manera:
Puede declarar este controlador de filtro (denominado aquí '
tabspace
') en.git/info/attributes
(para un filtro aplicado a todos los archivos dentro del repositorio de Git), con el siguiente contenido:Ahora ejecuta los comandos:
Vea la respuesta de Olivier para un ejemplo de trabajo concreto de un conjunto de instrucciones tan difuminado / limpio.
fuente
--global
bandera, ya que esto implicaría que debe enviar espacios a cada proyecto de colaboración ....gitattributes
. Pero sí, es más fácil de entender si la configuración se mantiene local para el repositorio. He editado la respuesta.Información muy útil para todos los que usan GitHub (u otro servicio similar)
~/.gitconfig
Entonces tengo dos archivos:
attributes
y
attributes2
Trabajando en proyectos personales
De esa manera, cuando finalmente empuje su trabajo en github, no se verá tonto en la vista de código,
8 space tabs
que es el comportamiento predeterminado en todos los navegadores.Contribuyendo a otros proyectos
De esa manera puede trabajar con pestañas normales en
2 space indented
proyectos.Por supuesto, puede escribir una solución similar para la conversión,
4 space to 2 space
que es el caso si desea contribuir a proyectos publicados por mí y tiende a usar 2 espacios durante el desarrollo.fuente
.gitattributes
archivo en su repositorioSi está en Windows, tiene algunos pasos adicionales para que la solución de @Olivier Verdier funcione.
fuente