lunes, 30 de octubre de 2017

Git con intelliJ workflow en CoWorking

Partimos de un proyecto en Java con una sola clase, el repositorio Git ya configurado.

Creamos una segunda clase "SegundaClase", observamos en la ventana de control de versiones que el archivo aparece en color verde, indicando que esta esperando commit.
 Le damos commit con su representativo mensaje.

























Git con IntelliJ preparacion para CoWork


Hemos creado previamente una simple aplicación Java, para tener un esqueleto de proyecto InteliJ estructural al cual podamos Gitear. En le menú damos VCS->Enable Version Control Integration. para decirle a IntelliJ que a nuestro proyecto lo integramos al control de versiones.


 Seleccionamos el Controlador de versiones que manejara nuestro proyecto, de entre una variedad de opciones, en este caso elegimos Git.
 Nos indica que ha creado el repositorio Git
 Creamos una simple clase, y le damos commit, para que se guarde la estructura del proyecto tambien marcamos los archivos Unversioned Files. y el mensaje de primer commit que sea descriptivo al estado del proyecto.
Despues del commit abrimos la ventana de control de versiones View->Tool Windows->Version Control (o Alt-9). Observamos la historia de los commits, en este caso un solo commit.
Ahora configuramos el Repositorio Remoto, que en este caso sera local en la máquina. Damos menú VCS->Git->Remotes...




En la ventana damos [+] en nombre "origen" y URL la ruta del subdirectorio de la carpeta.

 Ahora damos Push, para enviarlo el proyecto al Repositorio remoto.
 Vemos la leyenda master -> origin:master y damos Push.
 Ahora vemos que en el historial de commits, se ha actualizado de "master" a "origin & master", indicando que estan sincronizados los contenedores.
 Ya que tenemos el proyecto en el repositorio remoto, ahora Clonemos ese repositorio, para simular el proyecto de un colaborador alterno. En la pantalla de entrada de IntelliJ damos -> Check out from Version Control, elegimos o proporcionamos el URL de Repositorio Remoto, y un nombre de directorio donde caera el proyecto, en este caso lo distinguimos con un 2 al final del nombre.

Hacemos unos ajustes, al proyecto, le indicamos cual será la clase de arranque.
 Para probar todo corremos el proyecto y tenemos nuestro proyecto clonado.
:)

viernes, 27 de octubre de 2017

Git con Netbeans workflow en CoWorking

NetBeans->Team->Git->Clone...
 Se crea un proyecto con la misma estructura o template con el que se creo el original.
 hay que hacer algunos ajustes como la clase principal del proyecto...


 Ahora tenemos dos proyectos iguales con diferentes colaboradores que aportan al proyecto
- actualizamos informacion de git en la carpeta del nuevo colaborador email, nombre etc.
  para que se vea en los commits quien hizo que commit.
- a cada proyecto agregamos un archivo diferente, stage, commit "Fulanito agrega archivo X"
- observamos el historial de commits
- ambos harán Push, el primero no tendrá problema, el segundo que lo haga tendrá un error
  Para resolver el error tenemos que actualizar el repositorio local con los del remoto con Fetch
- observamos que el historial de commits se ha actualizado
- damos Pull para hacer un Merge de los cambios.
- observamos en el historial de commits que se integra el commit del otro colaborador
- Se da Push para actualizar el REpositorio remoto ya con los cambios de los colaboradores
- observamos que en la carpeta ya tenemos el archivo que creo el otro colaborador.
Hasta aquí no ha habido mayor conflicto, ahora haremos un conflicto
 Ahora ambos colaboradores crearan un archivo del mismo nombre, con diferente contenido, haran stage, commit
 "Fulanito agrega archivo compartido", y harán Push. El último que lo haga tendrá un conflicto que Resolvera
- Observar el archivo en conflicto en el IDE, Donde?
- la herramienta nos da opción de elegir que cambios tomar Mios o los Otros. o ambos y algo más. si hacemos
 el cambio manual. Checkar si se hace manual como marcarlo como resuleto el conflicto.
- Se hace commit y propone automaticamente un mensage "Merge ...."
- Se hace otro cambio en ambos colaboradores para hacer otra vez conflicto pero se resolvera con "Resolve with Mine"
- observar el historial de commits.
- Se recuelve,commitea,Push






















 
 vista con GitGui