martes, 17 de octubre de 2017

Git con Git-Cola Stage(add), Commit, Push, CheckOut


Se crearán dos carpetas, una de trabajo (MiProyecto) y otra como remota (origin(remote)), que estará en la máquina local no en la nube. Se crean archivos, cambios al contenido de estos archivos. Nos movemos a lo largo de la historia para deshacer cambios con Commit, Revert. se hace Push para enviar a repositorio remoto.

Pasos a seguir:
- Inicializar repositorio Remoto
carpeta con nombre origin(remote)
git bash en la carpeta origin(remote)
$ mkdir .git
$ cd .git
$ git init --bare

- Se configura repositorio Remoto en git-cola
- En Repositorio MiProyecto se crea archivo PrimerArchivo.txt
  (Se mostrará en git-cola como unstaged o untracked)
- Se selecciona el archivo se le da click-derecho->[+Stage Selected]
- Se da commit y en menú damos ver->DAG...
- Damos al menú Acciones->Push origin con rama local "master" y sugerirá crar una rama "master" en repositorio "origin"
- Agregamos Datos a PrimerArchivo y damos commit con mensaje "Datos a PrimerArchivo".
- Creamos "OtroArchivo" con contenido "Datos a OtroArchivo" y damos commit con mensaje "Datos a OtroArchivo".
- Damos al menú Acciones->Push
- Pondermos el apuntador HEAD a el commint "Datos a PrimerArchivo". En el arbol seleccionamos ese nodo y creamos la etiqueta
  "DatosPA"
- Nos movemos a ese nodo con checkout->DatosPA, si revisamos el contenido del repositorio solo tendremos el PrimerArchivo.txt
- Nos regresamos al nodo master, con checkout->master
- Agregamos contenido a OtroArchivo.txt - "Un Buen Cambio ;)"
- Agregamos contenido a PrimerArchivo.txt - "X un Mal Cambio"
- Seleccionamos solo el archivo OtroArchivo.txt y damos commit "Buen Cambio a OtroArchivo"
- Seleccionamos PrimerArchivo.txt y damos Revert... (a este archivo no se le ha dado commit).

Empezamos:

Se abre el icono de git-cola y seleccionamos un nuevo repositorio, en este caso el subdirectorio de trabajo MiProyecto.

 Se abrirá la pantalla inicial de git-cola.


Inicializamos la carpeta que servira como repositorio remoto [origin(remote)]


Se aplican los siguientes comandos para inicializar el repositorio remoto


En git-cola damos al menú Archivo->Editar Repositorios Remotos...


En la carpeta MiProyecto creamos un primer archivo vacio PrimerArchivo.txt, se reflejara como unstaged o untracked.


Se selecciona el archivo se le da click-derecho->[+Stage Selected].

Damos un commit con mensaje "Primer Commit". y en menu damos ver -> DAG...
Damos al menú Acciones->Push origin con rama local "master" y sugerirá crar una rama "master" en repositorio "origin"

y se observará que la gráfica se actualiza indicando
Ahora haremos una serie de movimientos en nuestro proyecto.
 - Agregamos Datos a PrimerArchivo y damos commit con mensaje "Datos a PrimerArchivo".
 - Creamos "OtroArchivo" con contenido "Datos a OtroArchivo" y damos commit con mensaje "Datos a OtroArchivo".


 Damos al menú Acciones->Push...


Se emparejan master y origin/master. En este momento tenemos en la carpeta MiProyecto :

.git
OtroArchivo.txt
PrimerArchivo.txt

Que es donde HEAD apunta?  Vamos a movernos al nodo donde No esta creado OtroArchivo.txt, Para ello, Debemos ubicar HEAD en el nodo con el commit "Datos a PrimerArchivo". Es decir hay que hacer un Checkout a ese nodo. Para el caso de Git-cola hay que crear una "etiqueta" o "TAG" a ese nodo para así poder tener acceso a ese punto. Veamos primero que no tenemos acceso a ese nodo, damos en menu Rama->Checkout...
Nos aparece master y origin/master.
Creamos la etiqueta, en Ver->DAG
 
Creamos la etiqueta, en este caso sin la opción "sign Tag", ya que nos dio un error, Se bloquea git-cola y deja procesos residuales en procesos y no se puede borrar la carpeta. Abordaremos eso después. Echo lo anterior el arbol nos muestra la etiqueta DatosPA.


Ahora si hacemos otra vez el checkout, ya veremos el nodo DatosPA donde apunta nuestro historial con Datos en el PrimerArchivo.txt.
seleccionamos DatosPA y le damos checkout. vemos que en el arbol, el HEAD ya apunta a ese nodo.

Ahora, Esto hace que el Git sea poderoso y útil, ya que si vamos a nuestra carpeta MiProyecto tenemos el contenido que teniamos en ese momento en la historia. ya que OtroArchivo.txt no existe en este punto.

.git
PrimerArchivo.txt

Bien, ahora pongamonos en el punto donde podamos ver los dos archivos, para mostrar otra característica. para esto Damos Rama->Checkout a "master". y tenemos el contenido en carpeta MiProyecto.

.git
OtroArchivo.txt
PrimerArchivo.txt

Exploraremos Revert  a un cambio (condicion: No ha habido commit.)
Agregaremos contenido a OtroArchivo.txt "un Buen Cambio :)"  y "X un Mal Cambio" a PrimerArchivo.txt. y en git-cola refrescamos la vista o contenido [Ctrl-R].

Seleccionaremos OtroArchivo.txt y le damos commit con mensaje "Buen Cambio en OtroArchivo"

Click Derecho a PrimerArchivo y damos Revert... (observar que No se le ha dado commit a este archivo).


Al ir a ver el contenido de PrimerArchivo.txt ya no aparecerá el contenido "X un Mal Cambio".

el Revert se puede hacer a varios archivos, seleccionandolos click-Derecho-> Revert.


Borrar Tags o Etiquetas
desde git bash
$git tag
DatosPA
$git tag -d DatosPA
Deleted tag 'DatosPA' (was b43902c)


No hay comentarios:

Publicar un comentario