Hosting gratuito y sin publicidad?
Aquí voy a ir poniendo algunas de las que he utilizado. Iré borrando o modificando según vayan cayendo.
En castellano. 2Gb. PHP y MySQL. Posibilidad instalar CMS.
1.5GB. PHP y MySQL. Recuerdo que me hice una web aquí, desapareció el hosting y luego volvió. Se ve que es como el Guadiana.
1GB. PHP y MySQL. También incluye Automatic Script Installer (Like Fantastico).
Primeros pasos en GIT
GIT es un software de control de versiones. GITHUB es un hosting para ese desarrollo de software.
Trabajo en local con GIT y luego le hago un push y se sube a GITHUB.
La página de GIT: http://gitscm.com/
Instalación
Para instalar GIT:
sudo apt-get install git
Justo cuando termina configuramos el GIT:
git config --global user.name "Tu nombre aquí" git config --global user.email "tu_email_aquí@example.com"
Forma de trabajar
Creamos un repositorio en la carpeta raiz del proyecto software. (git init)
Por cada fichero que creamos o modificamos hay que añadirlo al repositorio (git add) pasando al estado unstage.
Necesitamos confirmar la modificación (git commit)
Un fichero en GIT puede estar en tres sitios:
- Working directory – El directorio de trabajo local
- Unstage area – Preparado para enviarse a GIT
- Commit
Creando un repositorio en local
Con un terminal te vas a un directorio vacío, ya que se supone que estamos comenzando nuestro proyecto y lanzamos el comando:
git init
Comandos
git log
— nos permite ver un log de nuestro último commit
git log --oneline
— se ven todos los commits de una forma resumida, un commit por línea
git status
— nos dice el estado de nuestro git, si, por ejemplo, hay algún fichero que no se le ha hecho un commit.
git add "nombrefichero"
— esto nos pasa a un estado intermedio el fichero. Es como si le dijéramos que lo tenemos preparado para el commit, estamos en el estado UNSTAGE.
con git add . añadimos todos los ficheros y directorios.
Si con el comando anterior nos hemos confundido y queremos deshacer el add, utilizaremos el comando:
git reset HEAD nombrefichero
git branch
— para saber la rama en la que estamos. Por defecto es master.
git show identificadorhashcommit
— aparecen los ficheros que se comitearon
git remote -v
— listado con todos los repositorios que tengo en mi equipo local
Hacer un commit
git commit
— nos hará un commit de todos los ficheros que hemos ido añadiendo.
Aparece un editor de texto (para mí ha sido el Pico) pidiéndome el mensaje que quiero añadir al commit. Puedes modificar ese fichero y guardar el mensajito que sea.
Para que no se te abra el editor, puedes utilizar esto:
git commit -m "Mi primer commit"
con la opción -m le indicamos el mensaje que queremos que guarde
git commit --amend
con esta opción, los ficheros que se comitean, se añaden al último commit
Deshacer un commit
git reset --hard hashcommit
— ese hashcommit es un código hash asociado al commit que puedo averiguar con git log –online
Vuelvo al estado que estaba en ese commit.
Reset tiene otros dos parámetros como mixed y soft, que permiten que el reset no sea tan radical.
Recuperar un fichero
Suponemos que hemos modificado un fichero, lo guardamos y la hemos cagado, quiero deshacer los cambios. Cuando hacemos un git status nos salen una serie de opciones, entonces veremos que nuestro fichero está modificado y que podremos hacer:
git checkout -- nombrefichero
De esta manera lo devolvemos a como estaba antes de modificarlo.
Crear una cuenta en GITHUB
Me he creado una cuenta en GITHUB, es gratuito si lo vas a dejar todo público. Por lo tanto, si estás trabajando en un proyecto «privado» deberás pagar para usar GITHUB.
Tras crearme la cuenta, me he creado un repositorio:
https://github.com/pedroguirado/prueba
Cuando tenga hecho ya un git commit en el terminal, podré hacer un push de mis ficheros a github
git remote add origin https://github.com/pedroguirado/prueba.git
git push -u origin master
Me pedirá usuario y contraseña.
Descargar un repositorio que tengo en GITHUB a mi máquina local
Para hacer esto, copio el link del repositorio, sería algo como:
https://github.com/pedroguirado/prueba.git
y en el terminal de mi equipo escribo:
git clone https://github.com/pedroguirado/prueba.git
Recibiendo de tus repositorios remotos
Para recuperar datos de tus repositorios remotos puedes ejecutar:
git fetch [remote-name]
Enlaces
http://www.desarrolloweb.com/articulos/curso-git.html
http://git-scm.com/book/es/Fundamentos-de-Git-Trabajando-con-repositorios-remotos
Trabajando a lo fácil
Si he estado trabajando en local y quiero subir algo rápidamente:
git add .
git commit -m "He estado actualizando..."
git push -u origin master
Pedirá usuario y contraseña en Github.
Si he estado trabajando en Github y quiero descargar:
git fetch origin
Hay ocasiones en las que no te deja hacer un push desde local a remoto y se debe a que en remoto hemos hecho algo y no hemos hecho un merge para que esté todo actualizado. Para solucionarlo:
git pull
DIA – Editor de Diagramas
DIA es un software para editar diagramas.
Creo que en este blog lo he nombrado anteriormente para el tema de Base de Datos, cuando creábamos los Diagramas Entidad/Relación.
Pues DIA también sirve para hacer diagramas UML.
La web de los desarrolladores es: https://wiki.gnome.org/action/show/Apps/Dia
Yo lo tengo ya en Windows 7 y en Ubuntu. Apenas diferencias entre versiones. No solo eso, sino que tengo un equipo en Windows 7 y otro en Ubuntu, tengo instalado Dropbox en ambos y trabajo sobre la misma carpeta. Los ficheros generados con uno son perfectamente compatibles con el otro, así no tengo que andar enviando ficheros de un sitio a otro.
Descripción del sitio en PHP
Además de para esto, voy a utilizarlo para ver las dependencias entre mis ficheros PHP.
Ya sabes que creas un fichero PHP y dentro del mismo llamas a otros con «include». Llega un momento en el que te pierdes con tanto fichero, voy a utilizar DIA para plasmar estas llamadas.
Descripción de la red de comunicaciones
Otra de las cosas para las que se utiliza DIA es para crear un mapa de tu red, con tus nodos, switches, etc.
Freemind
Para hacer mapas conceptuales me acabo de instalar Freemind.
Es Opensource y lo puedes descargar en:
http://freemind.sourceforge.net/wiki/index.php/Main_Page
Lo voy a empezar a utilizar para hacerme un mapa de mis ficheros PHP de mi sitio web, para ver las dependencias, quién llama a quién, etc.
Además tiene muchas más funcionalidades. Iré publicando alguna cosilla.
Además, lo tenemos en castellano, que eso es un punto a su favor.
Puedes exportar a HMTL, PNG, XML, etc es decir, a muchísimos formatos.