Hace un tiempo os hablé de .gitignore, un archivo oculto para que no suban determinados archivos a nuestro repositorio de git. Quizás, desearías que suban determinados archivos, para poder gestionarlos desde otra máquina, pero que no fueran accesibles si el repositorio es público, osea que estos archivos estuvieran cifrados. He leído en el blog del atareao.es, esta joya. Voy a explicar con mis palabras como utilizarlo.
Súper fácil porque lo vamos a encontrar en los repositorios de nuestras distros.
sudo apt install git-crypt
El primer paso es tener ya un repositorio. Nos situamos dentro de la carpeta del repositorio tecleamos en la terminal:
git-crypt init
Ahora vamos a crear un archivo oculto donde especificaremos que archivos vamos a cifrar. Vamos a utilizar nano para crearlo:
nano .gitattributes
Indicamos que se cifren, por ejemplo, los archivos .html, .org, directorio:secretdir/**_secreto y archivo, con cualquier extensión o palabra que le preceda.
*.html filter=git-crypt diff=git-crypt`
*.org filter=git-crypt diff=git-crypt
directorio_secreto/** filter=git-crypt diff=git-crypt
*archivo* filter=git-crypt diff=git-crypt
Ahora cada vez que hagamos un commit, los archivos .html y .org, subirán cifrados.
Vamos utilizar de contraseña un archivo llave, que será este la contraseña para desbloquear el cifrado en otra máquina.
Para generar el cifrado, voy a utilizar de archivo a modo de contraseña. Le pondré key, pero podría ponerle cualquier nombre, como el nombre del repositorio
git-crypt export-key ~/carpeta/key
Ahora en mi PC de sobremesa, he clonado mi repositorio pero todos los archivos .html y .org están cifrados. Para descifrarlos necesito el key y por supuesto, instalar git-crypt en este PC:
git-crypt unlock ~/carpeta/key
Ya puedo ver el contenido!!!!
Simplemente alucinante!!!. Súper útil para cifrar aquellos archivos que queremos utilizarlos con git, pero que en un repositorio público no queremos que sean visibles.
Publicado por Angel el Wednesday 10 July del 2019
También te puede interesar:
Powered by org-bash-blog
Written in OrgMode with Emacs and converted to HTML with Pandoc
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.