Actualizar un Fork con el Proyecto Original

Actualmente es fácil crear y mantener tu código en una plataforma como GitHub usando Git. Existen también otras plataformas como Bitbucket o GitLab que también son unas buenas soluciones para mantener nuestro código usando Git. Pero si buscas otras alternativas menos extendidas y conocidas puedes consultar en AlternativeTo.

Gracias a Git resulta sencillo descargar un repositorio de otro desarrollador para poder trabajar con él. En líneas generales puedes trabajar dicho repositorio usando la URL de clonado o puedes crear un fork del repositorio, que pasa a ser una copia del repositorio bajo tu completa administración. El caso que en este artículos nos atañe toma como premisa el segundo caso.

Cuando hemos hecho un fork y queremos incluir características en nuestro fork que se añadieron en el proyecto original después de que creáramos nuestro fork, es necesario hacer un fetch de la rama que queramos del proyecto original y hacer un merge con nuestro código.

Voy a explicarlo primero por línea de comandos y luego para aquellos que uséis un cliente del estilo TortoiseGit.

Abrid el terminal o consola de comandos y situarlo en el directorio donde esté vuestro proyecto.  Cambiad a la rama con la que se desea fusionar. Por lo general, suele ser la rama master.

git checkout master

A continuación se hace un pull de la rama del proyecto original de donde se quiere fusionar.

git pull https://github.com/PROPIETARIO_ORIGINAL/REPOSITORIOORIGINAL.git NOMBRE_DEL_BRANCH

Es posible hacer primero fetch y luego un merge, que es lo mismo que hacer un pull. Si hubiera algún conflicto se resuelve y se realiza un commit.

git commit -m "mensaje"

Por último haced push a vuestro repositorio remoto y ya tendréis los cambios incluidos en vuestro repositorio remoto para que sean descargados.

git push origin master

 

Si eres usuario de  TortoiseGit, lo más fácil es añadir un remote nuevo. Con el botón derecho del ratón haced click sobre el proyecto, haced luego click en "Settings", e id a "Remote" para crear un nuevo remote  con la dirección URL del proyecto original (https://github.com/XXX/XXXX.git).

TortoiseGit-adding_new_remote

El remoto existente con el nombre origin hace referencia al repositorio original de vuestro proyecto. Nuestro nuevo remoto lo llamaremos upstream, por ser el proyecto de donde hicimos fork.

Cuando hayamos terminado le damos a "Add New/Save" y nos sugerirá hacer un fetch del nuevo remoto, o sino hacemos click con el botón derecho del ratón en el proyecto y le damos a "Fetch". Si usamos la segunda opción recordar hacer el fetch de upstream y no de origin. Una vez hecho esto sólo queda hacer merge de nuestro master de origin con el de upstream, para ello previamente hacemos un "Checkout" a master con el botón derecho del ratón y luego de nuevo el botón derecho y "Merge".

TortoiseGit-merge

Si hay algún conflicto se resuelve seleccionando los cambios que nos quedamos de cada parte (origin o upstream).

Una vez resueltos los conflictos, si los hubiera, haced un "Commit" guardar los cambios y un "Push" para subirlo al repositorio remoto.

En la ayuda de GitHub, puedes encontrar más información:

https://help.github.com

¿Dónde están mis Gigas? – WinDirStat te lo dice

De vez en cuando me echo las manos a la cabeza cuando en mi equipo me pongo a revisar el espacio que me queda y me doy cuenta del poco espacio disponible que hay. Es algo que seguramente nos pasa a todos y da igual lo grande que compremos nuestros dispositivos de almacenamiento que siempre los acabamos llenando. Pero la pregunta es: ¿dónde están las carpetas y archivos que más ocupan? ¿qué tipo de archivos son los que más ocupan?... En definitiva ¿qué he de borrar si quiero conseguir espacio rápidamente?

Una herramienta que nos va a permitir resolver esas preguntas es WinDirStat:

https://windirstat.info

Se trata de una aplicación que analiza nuestras unidades de almacenamiento o directorios concretos que queramos, para mostrarnos de manera gráfica su estado de ocupación.

WinDirStat

A modo de ejemplo práctico analizaré la unidad de almacenamiento de mi equipo. Tras analizarla, en la parte superior izquierda se muestran las particiones de la unidad que se han analizado, acompañadas de información relevante, pudiéndose desglosar la información por subdirectorios. Observemos que cada directorio tiene una barra que indica el espacio ocupado dentro del total ocupado del nivel inmediatamente superior.

Pasando a la parte superior derecha, se muestra información de los tipos de archivos que ocupan la unidad, así como el número de archivos que hay de ese tipo y el espacio que ocupan. Los tipos de archivos aparecen ordenados por la cantidad de espacio que ocupan.

En la zona inferior se muestra de manera más gráfica la información presentada en la parte superior con las dos vistas ya presentadas anteriormente. La vista representa mediante rectángulos de distintos tamaños, los distintos directorios, subdirectorios y archivos.

Si estas tres vistas te han liado un poco, no te preocupes, porque las tres vistas están conectadas. Seleccionando desde cualquiera de las tres vistas cualquier elemento, éste se refleja en las otras. De esta forma toda la información que se muestra queda conectada.

WinDirStat es una herramienta excelente si quieres saber cómo está ocupado tu espacio de almacenamiento o si quieres hacer una limpieza de archivos rápida y efectiva.

Instalar drivers ADB para Jiayu G4

Si eres propietario de un Jiayu G4 o alguna de sus variantes G4A, G4B, G4C, G4T o G4S, habrás notado que el ADB (Android Debug Bridge) en Windows no reconoce el dispositivo. Esto es debido a que ADB no es capaz de reconocer driver del dispositivo.

jiayu-g4

 

Para solucionarlo es necesario instalar en el sistema un driver que permita que el ADB opere con el dispositivo. Para ello basta con instalar la aplicación PDAnet en cualquiera de sus dos versiones de 32 o 64 bits:

PDAnet es un conjunto de utilidades que permite operar con tu dispositivo, ya sea transferir archivos, recibir llamadas y notificaciones... pero lo más interesante es que nos instala el driver que nos hace falta para poder operar con el ADB. Basta con seguir las instrucciones de instalación para instalarlo.

Una vez hayas instalado PDAnet puedes desinstalarlo si sólo necesitabas el driver. En Windows todos los drivers se copian a la carpeta "System32/drivers"  dentro de la carpeta "Windows", por lo que no es necesario mantener PDAnet instalado.

Ahora con la opción activada de "Depuración USB" en "Opciones de desarrollo" de tu dispositivo, podrás desplegar aplicaciones de Android en tu dispositivo y hacer debug de su funcionamiento.

wpid-screenshot_2015-10-06-22-30-58.png

jiayu-g4c-android_device_chooser

Este procedimiento está testado para modelos Jiayu G4 y sus variantes, pero es posible que funcione para más modelos. Si alguno lo prueba, lo puede dejar indicado en la zona de comentarios para orientar a otros posibles usuarios.

Crea un servidor GIT en un NAS Synology

Desde hace unos meses adquirí un NAS DS215j de la marca Synology. La cual sorprende por la cantidad de aplicaciones que pueden instalarse con un par de clicks:

https://www.synology.com/es-es/dsm/app_packages

Una de las utilidades que pueden ser instaladas es Git Server, permitiendo crear un servidor Git propio en el que alojar tus proyectos.

Lo primero que necesitamos es habilitar el acceso por ssh a nuestro servidor desde Panel de control > Terminal. Es conveniente que no uses el puerto 22 y uses otro de tu elección, para mejorar la seguridad de tu NAS al no usar los puertos por defecto.

Lo segundo es instalar el paquete que nos proporciona el Servidor Git. Una vez instalado nos permitirá dar acceso a los usuarios que queramos:

synology_git-server

 

Los usuarios de Git quedarán restringidos a realizar actividades relacionadas con Git con una herramienta shell llamada git-shell. Esta shell de inicio de sesión se aplicará a los usuarios de Git para garantizar que las cuentas se utilicen únicamente para operaciones Git. El resultado es que los usuarios de Git solo pueden utilizar la conexión SSH para introducir y extraer repositorios Git, y no tendrán acceso completo a DSM.

Debido a la limitación citada, sólo el usuario "admin" del NAS puede crear los repositorios. Una vez creados los repositorios, cualquier usuario al que demos acceso desde la app del Servidor Git, podrá usar los repositorios.

Para crear el repositorio podemos hacerlo desde un cliente ssh como Putty. Usando la dirección DDNS de nuestro NAS (Panel de control > Acceso Externo > DDNS) y el puerto que definimos para acceder por ssh (Panel de control > Terminal), nos conectamos con las credenciales de acceso del usuario "admin". Una vez dentro creamos el repositorio con los siguientes comandos:

 

cd /volumeX #Donde X es el número del volumen
mkdir GIT #Crear la carpeta
cd GIT
git init --bare --shared mi-repositorio.git

 

Con el repositorio creado, podremos acceder un clone usando la dirección:

 

git clone ssh://[Usuarios]@[DDNS:Puerto]/volumeX/GIT/mi-repositorio.git

 

O si prefieres, sin el usuario, de la siguiente manera:

 

git clone ssh://[DDNS:Puerto]/volumeX/GIT/mi-repositorio.git

 

A partir de este momento, ya tenemos listo nuestro proyecto para trabajar con él en local y sincronizar los cambios con el servidor.

Para más información consulta la ayuda de Synology:

https://help.synology.com/dsm/?section=Git&version=2.3&link=git.htm