2012-08-06 13 views
56

Estoy usando Gedit, y cada vez que guardo un archivo, Gedit crea una copia y el nombre de la copia siempre termina con un ~. El problema es que Git siempre intenta rastrear estos archivos, ¡y yo no quiero eso! ¿Hay alguna forma de poder usar git add ., pero agregue solo los archivos que no terminan con ~?¿Cómo evitar que git rastree todos los archivos que terminan con un "~"?

+2

No, no es necesario Arthur Denting. Por lo que sé, es válido gitignore .gitignore; Usualmente lo hago – ruffin

+2

Re: Editar. No es necesariamente una buena idea ignorar .gitignore. Estoy bastante seguro de que estas configuraciones son útiles en cualquier lugar donde clones tu repositorio. Ponemos nuestra ignorancia en control de versiones y estamos muy contentos con eso, porque solo un desarrollador necesita configurarlo. –

+0

Gracias @MarcinK, no pensé en eso. – corazza

Respuesta

36

Quiere un gitignore file.

Si quiere destruir todo lo que termine con una tilde (que debería ser seguro, no puedo imaginar un caso de uso razonable donde sea malo), asegúrese de que la siguiente línea esté en su archivo .gitignore en la parte superior de jerarquía de carpetas de tu repositorio:

*~ 

Si también quieren deshacerse de esos archivos tilde por ahí en su sistema de archivos local, se puede. Sería mejor hacer que Gedit coloque sus archivos de respaldo en otro lugar. JEdit y VIm, los dos editores que uso más, have such settings, y es mucho más limpio guardarlos en otro lugar que cargar Gitignore.

Desafortunadamente, Gedit no tiene esa opción. Lo mejor que puede hacer es desactivar las copias de seguridad ~. Antes de preocuparse, el peor caso es que pierde lo que estaba en el archivo immediately before you saved. Ese no es el peor de los casos, es por eso que tienes esto en un repositorio git, ¿verdad?

NOTA: Si desea mantener localmente los archivos con sufijo ~, hágalo. El .gitignore que configuró, arriba, evitará que los comparta accidentalmente.

You can turn off ~ suffixed backups like this

Para evitar Gedit desde la creación de estas copias de seguridad en el futuro, abrir Gedit, abrir el diálogo Preferencias (Edición> Preferencias), seleccione la ficha Editor, quite la marca en el “Crear una copia de seguridad de los archivos antes de guardar "opción, y haga clic en Cerrar. Después de hacer esto, Gedit ya no realizará las copias de seguridad con tildes por todos lados.

+5

¿Por qué querrías desactivar las copias de seguridad? Me han salvado innumerables veces en el pasado. – suvayu

+0

Bueno, obviamente para eliminar las tildes, pero estoy de acuerdo contigo (ver arriba). Quería encontrar una manera de mover todos los archivos de copia de seguridad a un directorio específico, como en VIm (utilizo una línea 'set backupdir = C: \\ vimBackups' en mi vimrc en Windows, por ejemplo), pero eso no parece existir para Gedit. Pero mira arriba. *Fijo*. – ruffin

+0

Bajista anónimo: ¿te importa explicarlo? ¿Hay ahora una mejor manera de que Gedit guarde los archivos de copia de seguridad que no dejan artefactos en su sistema de archivos? – ruffin

93

gitignore es el camino a seguir. Simplemente agregue *~ al .gitignore en la raíz de su repositorio.

+2

Esta es una solución mejor porque es complicado configurar cada uno de los programas para que no creen '~' archivos (por ejemplo, emacs). –

+0

@TahirHassan Pero mejor solución ... ¿qué? Lo primero que sugerí fue crear un archivo .gitignore. Si * también * desea limpiar su repositorio local para que no tenga '~' archivos en todas partes, * también * explico cómo hacerlo. ; ^) Realmente no estás jugando sin una red al hacerlo. Solo se guarda una edición atrás con los archivos tilde, y eso no es mucha ayuda práctica cuando ya está usando git. Dicho esto, @filmor me ganó para decirme que OP debería usar .gitignore por unos segundos ... – ruffin

1

¿por qué preocuparse de añadir un archivo .gitignore cuando se puede editar el archivo de texto plano .git/info/exclude. "Al decidir si desea ignorar un camino, git comprueba normalmente patrones gitignore de múltiples fuentes" https://www.kernel.org/pub/software/scm/git/docs/gitignore.html

Si agrega *~ a una línea en el archivo .git/info/exclude en su repositorio git. Git ignorará ese patrón y todos los archivos que terminan en tildes.

+0

¿Por qué se bajó este valor? –

+1

No soy de los que van a votar, pero es una mala respuesta, la carpeta ".git" no se comparte con todos los usuarios del repositorio, el archivo .gitignore sí (de forma predeterminada, podría cambiarse en un proyecto específico. .). por lo general * ~ los archivos son archivos temporales de copia de seguridad y no desea que nadie los agregue por error, por lo que debe establecerse para todos los usuarios del repositorio. – user2326568

5

Para añadir a lo @filmor Dicho esto, puede crear un archivo de gitignore global para que todos los repositorios ignorarán los archivos de copia de seguridad:

git config --global core.excludesfile ~/.gitignore_global 

Esto le indicará a Git que busque en su camino para un $ HOME .gitignore_global archivo, que es donde puede colocar la regla *~.

Cuestiones relacionadas