miércoles, 9 de mayo de 2018

Atributos extendidos en Apple macos

A veces al ejecutar una lista en la consola veras una @ al final de los atributos normales de archivos.
Esta arroba significa que esos archivos poseen atributos extendidos.
Es una especialidad UNIX por lo que esta presente en BSD y macOS, aunque anda por ahí en Linux.

Podemos ver esto al ejecutar el comando
$ ls -lha
-rw-r--r--@  1 root  wheel   1.7M May  9 10:23 PSOeci.icc
-rw-r--r--@  1 root  wheel   1.7M May  9 10:23 PSO2.icc
-rw-r--r--@  1 root  wheel   1.7M May  9 10:23 PSO3.icc
-rw-r--r--@  1 root  wheel   1.7M May  9 10:23 PSO4.icc


Para saber de que se trata el atributo podemos:

$ xattr PSOeci.icc 
 com.apple.quarantine

Y para eliminarlo:
$ sudo xattr -d com.apple.quarantine PSOeci.icc

También se pueden borrar todos con "clear"

$ sudo xattr -c PSOeci.icc

Recursividad tambien funciona con el comando, asi limpia todas los atributos extendidos de una carpeta.


$ sudo xattr -rc Perfiles

jueves, 3 de mayo de 2018

borrar la historia de github sin eliminar los archivos actuales

advertencia: este artículo es sólo una parafrase del original :
https://gist.github.com/heiswayi/350e2afda8cece810c0f6116dadbe651

si has trabajado con github y de pronto te das cuenta que en tu proyecto has dejado datos sensibles personales o de tu empresa te darás cuenta que no sólo alcanza borrarlos del archivo que estas programando.
GitHub guarda una útil historia de todos los cambios que has ido realizando, asi que si deseas eliminar alguna info, tendrás que eliminar toda esta historia también.
Cabe la posibilidad de que tu, como yo no trabajes tan directamente con la linea de comandos git, sino que uses github desde alguna interfaz mas amigable como TextWrangler, Notepad++, PyCharm, Netbeans, etc.
Si así es tendrás un pequeno problema.
Pero los amigos de GitHub concientes de esto han escrito algunas direcciones que yo trataré de mejorar con unos tipps entremedio  y correcciones.

Recomiendo el segundo método:

# si todavia no has configurado tu git
git config --global user.name "xastherion"
git config user.name "xastherion"
git init

git clone https://github.com/xastherion/mi_proyecto

# ahora debe haber una carpeta "mi_proyecto" en la carpeta ~/.git
cd .git
ls
cd mi_proyecto
ls -lha           # para que se vean las carpetas de punto .git
rm -rf .git       # borra toda la carpeta .git ojo: dentro de "mi_proyecto"

                  # aqui esta la historia

git remote add origin https://github.com/xastherion/mi_proyecto
git remote -v         # v para verbose
git add --all
git commit -am "Primer Commit"        # -am interative + msg
git push -f https://github.com/mi_proyecto