¿Cuál es la forma correcta de hacer que git ignore los archivos temporales producidos por vim en todos los directorios (ya sea globalmente en todo el sistema o localmente para un solo proyecto)?
git
vim
ignore
temporary-files
jrdioko
fuente
fuente
*.sw?
resuelve el estándar.swp
pero también las extensiones alternativas de archivos de intercambio como.swo
..swf
archivos. No recomendaría hacerlo, especialmente si está creando una aplicación Flash..
Sin embargo, el mismo patrón prefijado con el archivo oculto debería evitarlo..tmp.swp
,.tmp.swo
, ...,.tmp.swa
), crea vim.tmp.svz
. Me falta la paciencia para ver lo que viene después.tmp.saa
,.tmp.rzz
¿ tal vez ? ACTUALIZACIÓN: Al buscar en la fuente (src/memline.c
, funciónfindswapname()
), se da por vencido.saa
con un error: "E326: Se encontraron demasiados archivos de intercambio".Respuestas:
Los archivos temporales de Vim terminan con ~ para que pueda agregar al archivo
.gitignore
la líneaVim también crea archivos de intercambio que tienen las extensiones swp y swo. para eliminar esos use las líneas:
Esto ignorará todos los archivos temporales de vim en un solo proyecto
Si desea hacerlo globalmente, puede crear un archivo .gitignore en su hogar (puede darle otro nombre o ubicación) y usar el siguiente comando:
Entonces solo necesita agregar los archivos que desea ignorar a ese archivo
fuente
.*.sw*
en mi.gitignore
para ocultarlos a todos..*.sw?
que es más preciso. (Aunque he visto a personas usar alguna variante de*.sw*
para sospechar que a mí me falta algo realmente obvio ...).*.s[a-w][a-z]
ignorará los.svg
archivos.Alternativamente, puede configurar vim para guardar los archivos de intercambio en una ubicación separada, por ejemplo, agregando líneas similares a las siguientes en su
.vimrc
archivo:Vea este consejo vim para más información.
fuente
$TMPDIR
para obtener el tempdir real :)$TEMP
significaset undodir=$TEMP//
, ya que también guardo archivos de deshacer persistentes.Esto es algo que solo debe hacerse por usuario, no por repositorio. Si Joe usa emacs, querrá que se ignoren los archivos de respaldo de emacs, pero Betty (que usa vi) querrá que se ignoren los archivos de respaldo de vi (en muchos casos, son similares, pero existen alrededor de 24,893 editores comunes y es bastante ridículo tratar de ignorar todas las diversas extensiones de respaldo).
En otras palabras, no coloque nada adentro
.gitignore
ocore.excludes
adentro$GIT_DIR/config
. Ponga la información en su$HOME/.gitconfig
lugar (como sugiere nunopolonia con--global
). Tenga en cuenta que "global" significa por usuario, no por sistema.Si desea la configuración en todo el sistema para todos los usuarios (lo que no quiere), necesitará un mecanismo diferente. (Posiblemente con la configuración de plantillas antes de la inicialización del repositorio).
fuente
También recomendaría pensar en ignorar archivos como:
ya que puede tener archivos que terminan con
.swp
fuente
Salga de vim antes de "git commit".
para
vim
usar otras carpetas para archivos de copia de seguridad (/tmp
por ejemplo):para hacer que vim deje de usar la carpeta actual para archivos .swp:
El uso
-=, +=
sería generalmente bueno, porque vim tiene otros valores predeterminados para bdir, dir , no queremos borrar todo. Consulte la ayuda de vim para obtener más información sobre bdir, dir :fuente
Aquí está el código VIM real que genera las extensiones de archivo de intercambio:
Esto generará archivos de intercambio del formato:
Que es más o menos lo que se incluye en el propio archivo gitignore de github para VIM .
Como otros han señalado correctamente, esto .gitignore también ignorará .svg archivos de imagen y SWF archivos flash de adobe.
fuente
Descubrí que esto hará que git ignore los archivos temporales creados por vim:
También se puede ver aquí .
fuente
.swf
archivos que siguen apareciendo cada vez que crea una aplicación flash..svg
cuál puede ser un problema.*.un~
ya que tienes*~
Por supuesto,
solo tiene que crear un ".gitignore" en el directorio de inicio de su proyecto y debe contener
Eso es
en un comando
fuente
echo *.swp >> .gitignore
es mejor evitar anular el anterior .gitignore.echo '*.swp' >> .gitignore
>
personajes. Una vez le hice eso alpasswd
archivo y luegohttp://vimdoc.sourceforge.net/htmldoc/recover.html
http://www.vim.org/scripts/script.php?script_id=1075
fuente
En mi caso, los archivos temporales ya están comprometidos por acciones anteriores, por lo que modificar .gitignore no afectará a esos archivos comprometidos ...,
git rm files_to_be_ignored --cache
primero tiene que confirmar, luego confirmar, y HECHO.fuente
Esto funciona en una Mac como lo señaló Alex Moore-Niemi:
Asegúrese de usar
TMPDIR
y noTEMPDIR
.fuente
Si está utilizando el control de fuente. Los archivos temporales de vim son bastante inútiles.
Por lo tanto, es posible que desee configurar vim para no crearlos.
Simplemente edite Su ~ / .vimrc y agregue estas líneas:
fuente
screen
(odtach
si no quiere todas las funciones de la pantalla). Los cortes de energía son manejados por UPS. Las copias de seguridad las realiza {su software favorito para hacer una copia de seguridad de todos los archivos importantes}. Utilizo los archivos de intercambio para recibir notificaciones cuando intento editar archivos que ya están editados, archivos de copia de seguridad porque tener N + 1'th lugar con copia de seguridad no daña y deshacer archivos porque deshacer persistente es útil. Solo deshacer archivos son un poco importantes para mí.