GIT
Git es un software de control de versiones
diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del
mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número
de archivos de código fuente. Al principio, Git se pensó como un motor de bajo
nivel sobre el cual otros pudieran escribir la interfaz de usuario o front end
como Cogito o StGIT. 3 Sin embargo, Git se ha convertido desde entonces en un
sistema de control de versiones con funcionalidad plena. 4 Hay algunos
proyectos de mucha relevancia que ya usan Git, en particular, el grupo de
programación del núcleo Linux
CARACTERÍSTICAS
El
diseño de Git se basó en BitKeeper y en Monotone.
El
diseño de Git resulta de la experiencia del diseñador de Linux, Linus Torvalds,
manteniendo una enorme cantidad de código distribuida y gestionada por mucha
gente, que incide en numerosos detalles de rendimiento, y de la necesidad de
rapidez en una primera implementación.
Entre
las características más relevantes se encuentran:
Ø Fuerte apoyo al desarrollo
no lineal, por ende, rapidez en la gestión de ramas y mezclado de diferentes
versiones. Git incluye herramientas específicas para navegar y visualizar un
historial de desarrollo no lineal. Una presunción fundamental en Git es que un
cambio será fusionado mucho más frecuentemente de lo que se escribe
originalmente, conforme se pasa entre varios programadores que lo revisan.
Ø Gestión distribuida. Al
igual que Darcs, BitKeeper, Mercurial, SVK, Bazaar y Monotone, Git le da a cada
programador una copia local del historial del desarrollo entero, y los cambios
se propagan entre los repositorios locales. Los cambios se importan como ramas
adicionales y pueden ser fusionados en la misma manera que se hace con la rama
local.
Ø Los almacenes de información
pueden publicarse por HTTP, FTP, rsync o mediante un protocolo nativo, ya sea a
través de una conexión TCP/IP simple o a través de cifrado SSH. Git también
puede emular servidores CVS, lo que habilita el uso de clientes CVS
pre-existentes y módulos IDE para CVS pre-existentes en el acceso de
repositorios Git.
Ø Los repositorios Subversion
y svk se pueden usar directamente con git-svn.
Ø Gestión eficiente de
proyectos grandes, dada la rapidez de gestión de diferencias entre archivos,
entre otras mejoras de optimización de velocidad de ejecución.
Ø Todas las versiones previas
a un cambio determinado, implican la notificación de un cambio posterior en
cualquiera de ellas a ese cambio (denominado autenticación criptográfica de
historial). Esto existía en Monotone.
Ø Resulta algo más caro
trabajar con ficheros concretos frente a proyectos, eso diferencia el trabajo
frente a CVS, que trabaja con base en cambios de fichero, pero mejora el
trabajo con afectaciones de código que concurren en operaciones similares en
varios archivos.
Ø Los renombrados se trabajan
basándose en similitudes entre ficheros, aparte de nombres de ficheros, pero no
se hacen marcas explícitas de cambios de nombre con base en supuestos nombres
únicos de nodos de sistema de ficheros, lo que evita posibles, y posiblemente
desastrosas, coincidencias de ficheros diferentes en un único nombre.
Ø Realmacenamiento periódico
en paquetes (ficheros). Esto es relativamente eficiente para escritura de
cambios y relativamente ineficiente para lectura si el reempaquetado (con base
en diferencias) no ocurre cada cierto tiempo.
ÓRDENES BÁSICAS
GIT FETCH:
Descarga los cambios realizados en el repositorio remoto.
GIT MERGE <NOMBRE_RAMA>:
Impacta en la rama en la que te encuentras parado, los cambios realizados
en la rama “nombre_rama”.
GIT PULL:
Unifica los comandos fetch y merge en un único comando.
GIT COMMIT -AM "<MENSAJE>":
Confirma los cambios realizados. El “mensaje” generalmente se usa para
asociar al commit una breve descripción de los cambios realizados.
GIT PUSH ORIGIN <NOMBRE_RAMA>:
Sube la rama “nombre_rama” al servidor remoto.
GIT STATUS:
Muestra el estado actual de la rama, como los cambios que hay sin
commitear.
GIT ADD <NOMBRE_ARCHIVO>:
Comienza a trackear el archivo “nombre_archivo”.
GIT CHECKOUT -B <NOMBRE_RAMA_NUEVA>:
Crea una rama a partir de la que te encuentres parado con el nombre
“nombre_rama_nueva”, y luego salta sobre la rama nueva, por lo que quedas
parado en esta última.
GIT CHECKOUT -T ORIGIN/<NOMBRE_RAMA>:
Si existe una rama remota de nombre “nombre_rama”, al ejecutar este comando
se crea una rama local con el nombre “nombre_rama” para hacer un seguimiento de
la rama remota con el mismo nombre.
GIT BRANCH:
Lista todas las ramas locales.
GIT BRANCH -A:
Lista todas las ramas locales y remotas.
GIT BRANCH -D <NOMBRE_RAMA>:
Elimina la rama local con el nombre “nombre_rama”.
GIT PUSH ORIGIN <NOMBRE_RAMA>:
Commitea los cambios desde el branch local origin al branch “nombre_rama”.
GIT REMOTE PRUNE ORIGIN:
Actualiza tu repositorio remoto en caso que algún otro desarrollador haya
eliminado alguna rama remota.
GIT RESET --HARD HEAD:
Elimina los cambios realizados que aún no se hayan hecho commit.
GIT REVERT <HASH_COMMIT>:
Revierte el commit realizado, identificado por el “hash_commit”.
GITKRAKEN
GitKraken es una potente y elegante interfaz
gráfica multiplataforma para Git desarrollada con Electron. De forma muy
sencilla podemos llevar el completo seguimiento de nuestros repositorios, ver
ramas, tags, crear nuevos, todo el historial de nuestro trabajo, commits
etcétera.
Si aún no conoces Git, es un sistema para
llevar a cabo el control de versiones de tus desarrollos, imagina que tienes
que desarrollar una nueva aplicación y quieres conocer el completo proceso de
la misma, marcar puntos importantes y poder trabajar con varios compañeros en
un mismo proyecto, ahí entra Git, aquí tienes una guía rápida sobre Git.
GitKraken
es multiplataforma, por lo tanto, podemos utilizarlo en windows, linux y mac
os.
Este
sistema para el control de versiones con git tienes dos planes, uno gratuito
para siempre y otro de pago el cual ofrece mucha más funcionalidad, y no es excesivamente
caro si te es de ayuda, un plan anual de 5$ al mes, 60$ al año por usuario.
¿PORQUE GITKRAKEN?
Es un interfaz muy bonito y fácil de usar y de entender es una forma
interesante de usar Git ya que Git está diseñado para usarlo en terminal lo cual
nunca me gusto.
Normalmente vemos tutoriales de Git o de GitKraken de como clonar o
administrar un repositorio en GitHub o Gitbucket esta vez vamos a ver como lo
configuramos y administramos, pero desde un repositorio privado y fuera de los
proveedores comunes, en este caso les voy a mostrar cómo se crea y se
administra desde un repositorio de google cloud, que es donde tengo mi servidor
y mi repositorio propio.
¿Qué necesitamos o que vamos a ocupar?
Vamos ocupar varias cosas para empezar voy a dejar un link de los sitios
oficiales por si quieres descargar la versión más nueva y actualizada, como una
opción más. Recordemos que esto funciona para cualquier sistema operativo en mi
caso se utiliza en computadoras Apple y computadoras Windows con el mismo proyecto
1.
Un repositorio (en cualquier lugar o proveedor en mi caso
va a ser google cloud pero puede ser cualquier otro).
2.
Git el instalador de Git
3.
GitKraken el instalador de GitKraken
INTALACIÓN O PREPARACIÓN
Para esta etapa se explica cómo se instala y prepara todo para el proyecto
como lo he mencionado antes se puede con cualquier otro proveedor yo lo voy a
hacer con google cloud, entonces si es otro proveedor nada más busca la misma
opción, pero un tu proveedor.
PASO 1
Vamos a abrir o crear un repositorio de código fuente. Para ello ingresamos
en la cuenta de google cloud o del proveedor si no tienes uno debes crear la
cuenta.
Una vez que ingresamos nuestra cuenta nos envía a la ventana de inicio ahí
le damos clic en CONSOLA
Cuando le damos consola nos envía al inicio del servidor de ahí vamos al menú y buscamos la opción Repositorios de Código fuente
Una vez ingresado a nuestra opción nos va a enviar a los repositorios
existentes o nos envía una ventana de empezar le damos clic al botón.
Luego seleccionamos un nombre de del repositorio que deseamos crear
Una vez creado el nombre nos abre 3 opciones podemos utilizar cualquiera de
las 3 pero en este caso vamos a Enviar código desde un repositorio de Git local
a tu repositorio de Cloud.
Seleccionamos SDK de Google Cloud y
seleccionamos Clonar el repositorio de
Cloud en un repositorio de Git local
Una vez ahí seleccionamos Generar y
almacenar tus credenciales de Git
Ahora debemos ingresar nuestras credenciales de la cuenta donde se
encuentra el repositorio
Le damos permiso a google para crear las llaves necesarias
Una vez ingresado nos genera las credenciales para poder crear el
repositorio en mi computadora
Estos dos parámetros tanto los nombres de usuario son súper importantes
debes guardarlos bien yo normalmente lo pego en un txt o documento de texto.
Con eso estamos listos para clonar nuestro repositorio.
PASO 2
Vamos a instalar Git en la computadora que queremos tener una copia del
repositorio el Git recordemos no importa el sistema operativo esta parte es muy
fácil empecemos
En mi caso voy a instalar la versión 2.15.0 de 64 bits podemos instalar la
versión actual sin importar la que sea ejecutamos como administrador el
instalador.
En este paso solo le damos siguiente, siguiente, siguiente hasta instalar.
PASO 3
En este paso vamos a instalar el GitKraken vamos al instalador y ejecutamos
como administrador
Git
Una vez instalado vamos a clonar
nuestro repositorio para eso le damos
clic en el icono de la carpeta
Se nos abre esta ventana donde seleccionamos Clone
Ahora pegamos nuestros creenciales los que guardamos en el
documento txt la primera es donde queremos pegar la carpeta del repositorio yo
lo voy a hacer en el escritorio creo una carpeta nueva y ahí lo clono
Y en la segunda opcion colocamos el link de nuestro
respositorio.
Para saber la ruta o URL del repositorio vamos a nuestra consola de google
cloud y la copiamos
Para ello nos vamos a repositorios.
Una vez copiado el link y
seleccionada la carpeta clonamos
Una vez termina de cargar le damos Open Now
Listo nuestro repositorio ha sido creado