Cómo gestionar dotfiles en Windows, sí, has leído bien, Windows.

Algunos antecedentes.

Si quieres saltarte esta sección, haz clic aquí.

Llevo usando VSCode en Windows unos dos años, soy nuevo en la programación y vengo del sector de la construcción como puedes ver en esta página web, estoy algo atado a Windows o como algunos lo llaman Telemetría de William G., también conocido como Telemetría MS, así que cambiarme a Linux no es una opción.

¿Vim en el futuro?

He estado mirando twitter últimamente y se habla mucho de NeoVim y he decidido probarlo, aprender un poco más sobre él y, por supuesto, sobre su parte de configuración, y quizás algún día pueda sustituir a VSCode.

He utilizado Vim para editar pequeños archivos de texto, pero nada más, ya dominaba hjkl y :wq! y nunca he necesitado nada más, así que mi camino de aprendizaje empezó leyendo los documentos de Vim y los documentos de NeoVim, luego empecé a ver un vídeo de TypeCraft y hasta ahora estoy contento con los resultados.

Pero después de ver el primer vídeo mencionó algo sobre la carpeta dotfiles, y leyendo más sobre ello pensé que sería una buena idea guardar mi configuración para utilizarla en otra computadora. Así que decidí buscar una solución.

Hay algunas soluciones como crear enlaces simbólicos, que son similares en Linux, pero por suerte buscando en YouTube encontré un vídeo de DistroTube, un canal que veo de vez en cuando por sus vídeos de aspecto profesional, (https://youtu.be/tBoLDpTWVOM), en el vídeo muestra una solución para gestionar los dotfiles usando un repositorio git bare, así que vi el vídeo, leí el artículo que inspiró su vídeo y comencé mi camino para crear mi informe dotfiles.

Tutorial

Esta es actualmente la mejor solución que he encontrado, así que si encuentras algo mejor o conoces otra solución, por favor compártela, me encantaría escuchar algunas ideas.

Mi configuración

Estoy utilizando

Carpetas, Directorios

Tengo dos directorios para este tutorial, el directorio dotfiles con mis archivos y un directorio dotrepo.

El directorio dotfiles es mi directorio de trabajo, normalmente en Windows los archivos de configuración se almacenan en el directorio C:\Users\.

Ten cuidado, hay un directorio AppData que puede contener otros archivos de configuración, en los subdirectorios Local y Roaming, así que comprueba dónde almacena tu programa los archivos de configuración, y tienes que ocuparte de las subcarpetas utilizando un archivo .gitignore, o puedes añadir tus dotfiles manualmente.

Ejecuta cmd, cmd o power shell como admin.

Dentro del directorio dotrepo ejecuta git init --bare, esto creará un repositorio bare sin árbol de trabajo, no es un directorio git normal porque no le añadirás archivos.

Ahora puedes ir al directorio dotfiles y añadir un archivo, en mi caso añadí un *README.md.

A continuación, ejecuta el siguiente comando
git -git-dir=D:_ejemplo_dotrepo_ -work-tree=D:\_ejemplo_dotfiles\_estado_.

Puedes ver que el archivo que acabamos de crear aparece como no rastreado.

El comando --git-dir= indica a git dónde está el directorio bare git, y el comando --work-tree= indica a git dónde está el árbol de trabajo.

Los comandos «-git-dir=D:_ejemplo_dotrepo_» y «-work-tree=D:_ejemplo_dotfiles_» son toda la magia de este proceso.

Por ejemplo, podemos añadir, confirmar y enviar el README

  • git add README.md
  • git commit -m "Primer archivo añadido"'.
  • git push.
  • git status.

Por ejemplo, puedes configurar tu nombre de usuario, contraseña y URL en tu carpeta git bare utilizando el mismo método

git config -local usuario.email «»
git config -local usuario.nombre «»
git config -local remoto.origen.url «»

Importante

Cuando uses git status te darás cuenta de que todo lo que haya en la carpeta aparecerá como sin seguimiento, tienes que añadir los archivos y carpetas manualmente, no añadas todo a wsing git.

Alias de Cmder

Si no quieres escribir los comandos largos cada vez puedes usar cmder aliases, y por supuesto si estás en el símbolo del sistema o usando powershell también puedes añadir aliases, yo simplemente prefiero cmder porque es fácil de configurar.

El archivo con los alias se encuentra dentro del directorio cmder en …cmder\config\user\aliases.cmd

Veamos el alias en Cmder para nuestro caso.
dgit=git --git-dir=D:\ejemplo\dotrepo\ --work-tree=D:\ejemplo\dotfiles\ $*.

Donde dgit= es el nombre del alias.


La magia es git --git-dir=D:\ejemplo\dotrepo\ --work-tree=D:\ejemplo\dotfiles\ y$*` indica a cmder que se pueden añadir banderas al final del comando.

Después de editar y recargar los alias en cmder, puedes ejecutar
`dgit status’ y obtendrás el estado del repositorio bare git.

Ten en cuenta que si no añades $* al final del alias, Cmder ignorará las banderas que vienen después del comando, es decir, sólo ejecutarás el comando git que muestra el uso de git.

Advertencias

Archivos añadidos manualmente

Toma tiempo buscar con archivos de configuración o carpetas, y después se tienen que añadir uno por uno al repo.

Carpetas vacías

Ya lo he mencionado pero tiene que quedar claro, tienes que añadir los archivos y directorios manualmente.

Por ejemplo **git add AppData\Local\nvim**.

Añade los archivos al repositorio con la ruta completa con los directorios vacíos, en mi caso algunos archivos están en C:\Users\AppData\Local\nvim, los archivos de configuración para neovim se añaden al repositorio como AppData\Local\nvim.

Otros archivos

Los archivos de configuración fuera de C:\Users no se pueden rastrear con git, todo tiene que estar en el árbol de trabajo.

Repositorio

Extracto de Wikipedia

El origen de la palabra española «repositorio» deriva del latín «repositorium», que significa armario o alacena. Este término está recogido en el Diccionario de la Real Academia donde se define como el «lugar donde se guarda algo».

https://es.wikipedia.org/wiki/Repositorio_(contenido_digital)

By

Posted in

0 respuestas

Responder

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *