No quiero inicializar un repositorio git en mi directorio de inicio, y tengo que ignorar cualquier otro archivo presente.
Por qué no? Desea rastrear un archivo en su directorio de inicio, por lo tanto, su directorio de inicio también debe estar bajo control de versión.
Eso no significa que su directorio de inicio deba ser un repositorio git. Dejame explicar:
Los repositorios git constan de dos partes: un árbol de trabajo (a menos que sea un repositorio desnudo, por supuesto) y el .git
directorio "base de datos". Por lo general, el último es solo un subdirectorio (oculto) del primero, pero eso no es estrictamente necesario. git admite el uso de un árbol de trabajo separado . Por lo tanto, puede mantener su directorio de inicio bajo control de versiones, pero no es necesario que contenga un .git
directorio que pueda confundir las herramientas (vim, emacs, ...) o git.
Configuración:
cd ~
mkdir .dotfiles
cd .dotfiles
git init .
Ahora hay un ~/.dotfiles/.git
directorio. Use eso pero especifique el directorio de inicio como árbol de trabajo. Esto requiere una línea de comando bastante larga, por lo tanto, un alias es una buena idea:
alias dotfiles='git --git-dir ~/.dotfiles/.git --work-tree=$HOME'
Para usarlo solo use el alias anterior en lugar de git
, por ejemplo dotfiles status
.
Beneficios:
- no se necesitan otras herramientas, solo git
- no es posible el enlace simbólico / situaciones fuera de sincronización
- los repositorios git en subdirectorios debajo de inicio no se ven afectados de ninguna manera
Obtuve esto de esta publicación de blog (que tiene algunas informaciones adicionales) y lo estoy usando sin ningún problema. Yo no, pero con una simple línea *
en la .gitignore
que usted puede deshacerse de la posiblemente enorme cantidad de archivos sin seguimiento y protegerse a sí mismo un poco en contra de añadir archivos al repositorio que no están destinados a ser añadido.