trabajando con Git - parte 2 (commit -am, pull, checkout,branch,merge)




Si ya revisaste la parte 1  te será mas sencillo continuar trabajando esta parte del git :

Git pull

sube todas las modificaciones que tenemos en commit.

en el ejemplo, intentamos hacer el pull, y nos pide que ingresemos nuestra clave, si fallamos nos muestra el siguente error, si lo colocamos bien, nos muestra el resumen de los archivos subidos al servidore remoto.  




Git diff  

      muestra un resumen con detalles de los archivos modificados


Git checkout 

Permite movernos entre commits y ramas

Git checkout --  
      muestra el listado de nombres de los archivos que han tenido cambios
Git checkout --  [NOMBREARCHIVO]
      borra retira todos los cambios realizados sobre el archivo



Git branch 

nos permite conocer en que branch estamos y el listado de los que existen 


Git branch [nombredelbranch]
     crea un nuevo branch sobre el head en el eque estamos, pero no nos posiciona en el 

Git checkout  [nombre del branch]
     nos mueve hacia el branch en mención para trabajar sobre el



para borrar una rama se necesita ejecutar :

git branch - d [NOMBRERAMA]




Manejo de ramas



Git log –oneline –graph –all

Permite ver de forma grafica como se va moviendo los commit en cada branch





Algo parecido a esto



Se puede agregar alias a nuestran sentenicias largas como en este caso

Git config –global alias.nicelog ‘log –oneline –graph –all’

Con esto solo ponemos git nicelog

 


Fusiones

Para empezar una fusión, primero debemos situarnos en el branch (rama) que va a absorber todo el código de la otra rama.

En este caso nos ponemos primero en master :

Git checkout master

Y luego traemos los cambios hechos en la rama experimental

Git merge experimental

Con esto el commit DY tiene todo el contenido de master + los cambios de experimental.



Al hacer esta fusión,  suceden 2 cosas,:


   Fast-forward

s    Se da una fusión limpia sin confictos cuando los archivos fusionados no han sido trabajado por ambas partes, ej: en master se trabajó el código de programación .php y en experimental se modificaron solo los .css


 ejemplo : 




al ejecutar el git merge,
Nos aparece la siguente Con la tecla O se puede agregar contenido, agregamos :

"incluido nuevo rediseno en el portafolio" 

















le damos a la tecla ESC (escape) y se desaparece la llamada --INSERT en verde, luego escribimos 
:x (dos puntos + x ) esto significa salvar y salir. 



   Manual Merge

      Se da cuando los dos desarrolladores trabajaron el mismo documento, ambos en cada branch han subido sus archivos, al momento de hacer el merge nos mostrará un conflicto 

       nos posicionamos en la rama principal (master) y luego desde alli llamamos a la rama "carita"





al aparecer este mensaje, nos está diciendo que el conflicto escapa del conocimiento de git, y debe solucionarse de forma manual 

si vamos al código, veremos que aparece un texto 

<<<<<<<<<<<< HEAD
  cambios de la rama principal
=========
cambios de la rama  carita
>>>>>>>>>>>> CARITA

nosotros tenemos que elegir manualmente que codigo se queda y eliminar el otro 


en este caso hemos borrado la parte de head, y queda así 




luego lo que resta es hacer commit -am "mensaje" y ya se tiene solucionado el conflicto.

-am lo que hace es hacer add-A y commit a la vez

Saludos! 


































No hay comentarios:

Publicar un comentario

Todos los comentarios son bien recibidos...