viernes, 29 de abril de 2016

Crear repositorio en Bitbucket y flujo para realizar trabajo en equipo con comandos Git

Pasos para Crear repositorio en Bitbucket y flujo para realizar trabajo en equipo con comandos Git

1. Pasos del Administrador del Sistema


1.1. Se debe tener creada una cuenta en Bitbucket   

1.2. Se debe abrir la pestaña de repositorio y dar click en crear repositorio  (create repository)






























1.3. Nos muestra una ventana le indicamos un nombre a este repositorio y click en cerar repositorio   





1.4. Al darle crear repositorio nos aparece así.






1.5. Debemos crear un archivo, equipo.txt o readme.md (se sugiere que este archivo sea quien contiene los participantes del proyecto o un archivo el cual contenga información del proyecto) para poder así comenzar a realizar las invitaciones para el equipo participante (los que poseen la versión gratis solo podrá tener máximo 5 participantes. Se presiona send invitation







1.5.1 Debemos realizar lo siguiente para poder tener un clon de nuestro repositorio en la computadora, posicionarnos desde la consola en la ruta donde queremos obtener la carpeta del repositorio
git init 
git clone git@bitbucket.org:VictorDavila10/repo_manual.git
NOTA: Este paso es por consola,  una vez le de enter al comando anterior se descargara una carpeta con el nombre del repositorio y dentro de ella un .git la cual será una carpeta oculta.


1.6. Una vez presione sobre send invitation saldrá una imagen como la siguiente, donde buscara a el o los usuario(s) que van a participar en el proyecto. Tenga en cuenta los permisos que usted le dará a la persona invitada, en read el usuario actualizara el repositorio con sus cambios solo cuando el administrador los acepte (recomendado) el write permitira subir cambios libre y el admin puede tener el control del repositorio general. De igual manera es necesario que la persona que usted va a invitar tenga cuenta en Bitbucket 

















1.7. Ya una vez los usuarios usted los haya agregado y les haya llegado la respectiva invitación deben comenzar a realizar el siguiente procedimiento.

NOTA: El administrador finaliza mas adelante en la explicación



2. Pasos a nivel de usuario invitado para trabajar en el repositorio



2.1. Cada usuario debe realizar un fork de el repositorio que se le envío, cambiarle el nombre o si gusta dejarle el mismo nombre


















2.2. Una vez realizado el fork tendrá los dos repositorios creados uno con tu usuario y el otro con el usuario sobre que se le realizo el fork (con los nombres respectivos)



2.3. Seguidamente se realiza por la consola un git clone con la ruta tu repositorio 
git clone git@bitbucket.org:Jpernia/Repo_manual.git



2.4. Se procede a realizar un git remote (Este comando muestra qué rama se envía automáticamente cuando ejecutas git push en determinadas ramas. También te muestra qué ramas remotas no tienes todavía, qué ramas remotas tienes y han sido eliminadas del servidor, y múltiples ramas que serán unidas automáticamente cuando ejecutes git pull)

git remote add nombre_rama  git@bitbucket.org:VictorDavila10/repo_manual.git 
## (git@bitbucket.org:VictorDavila10/repo_manual.git) Esta dirección es la del usuario que creo el repositorio y es donde usted va a subir los cambios



2.5. Realizan el comando git remote -v podemos ver una lista de ramas y las direcciones donde vamos aputar nuestros pull, push, commit, etc



2.6. Ya descargado en tu computador el repositorio y ya teniendo su rama remota y ramas se comienza a trabajar individualmente y se empieza a realizar en consola los siguientes comandos



2.7 Una vez se comience a trabajar en el repositorio, se creen archivos carpetas correspondiente por cada uno y se comience a subir información tanto para tu repositorio como para el repositorio del lider del proyecto iniciamos realizando lo siguiente:

     a) git status (este comando lo utilizamos para ver los archivos o carpetas que hemos creado o modificado dentro del repositorio, nos daremos cuenta ya que todos estos datos que nos muestra estarán de color rojo)
     b) git add . (esté comando nos adiciona todos los archivos o carpetas los cuales creamos o modificamos, existen mas características de este comando)
     c) git status (al ejecutar el paso b y ejecutamos nuevamente un git status este nos muestra todos los archivos modificados o creados cambiando el color a verde, esto hacemos para corroborar que se hayan incluido todos los cambios)
     d) git commit -a (este comando nos abre nano y aquí colocamos un comentario sobre el cambio que se realizo y es el que va a quedar registrado)
     e) git push origin develop (este comando es el que sube a nuestro repositorio los cambios realizados en el computador)
     f) git pull nombre_rama develop (aquí nos estamos actualizando del repositorio del lider del proyecto, se recomienda estar haciendo este comando al inicio del día para estar actualizado a cualquier cambio que otro usuario del repositorio realice y si haya algún conflicto detectarlo rapidamente)
NOTA: nombre_rama es la que hizo cuando se ejecuto el git remote paso 2.4.



2.8. Ya una vez se hayas realizado este procedimiento nos vamos a Bitbutket para realizar un pull request, el cual todos los cambios (commit) que haya hecho durante el trabajo, se recomienda ir trabajando y paulatinamente realizando el pull request al repositorio central.
















Presionamos Create pull request y alli subimos hacia el repositorio central





NOTA: Aquí continua las operaciones para el administrador del repositorio


1.8. El administrador del repositorio central debe aceptar los pull request (commits) que hayan realizado los integrantes del repositorio haciendo MERGE y ya el repositorio central también esta actualizado.

1.9. En caso de que observe alguna irregularidad en el código subido por alguno de los usuarios del repositorio este puede pulsar declinar pull request 

Listo ya hemos cumplido con el flujo de trabajo básico para trabajar con Bitbuckets y Git 


Espero les sirva de ayuda cualquier novedad, duda o sugerencia pueden hacerla llegar.

jueves, 28 de abril de 2016

Configurar el PROMPT del Terminal para ver la rama de GIT en Linux

Cuando estamos trabajando con git, aveces no nos acordamos en que rama estamos trabajando, para los que nos gusta trabajar con la consola,  git nos ofrece el siguiente comando git branch --list para saber en que rama estamos ubicado.

Ejemplo:

1- Abres tu terminal.
2- Te ubicas en tu repositorio. cd /tu_ruta/capeta_repositorio
3- Escribes el comando git branch --list

jpv3@tu_usuario:~/capeta_repositorio$ git branch --list
* otra_rama
  master

Si te sale el siguiente error fatal: Not a git repository (or any of the parent directories): .git es por que no estas en un repositorio git, estas ubicado en otra carpeta.

En el ejemplo anterior vemos que nos muestra cuantas ramas tenemos  (* otra_rama y master)  y en cual estamos ubicado (la que tiene el *).

Pero hay una forma de que siempre nos imprima en el prompt en que rama estamos trabajando.

Ejemplo:

jpv3@tu_usuario:~/capeta_repositorio(otra_rama)

Para eso debemos hacer los siguientes:

1- Buscar el archivo ./.bashrc , si no sabes donde esta puedes lanzar el siguiente comando 
find -name .bashrc 
jpv3@tu_usuario:~$ cd /home/tu_usuario
jpv3@tu_usuario:~$ find -name .bashrc

find: «./.cache/dconf»: Permiso denegado
find: «./.dbus»: Permiso denegado
./.bashrc
find: «./.gvfs»: Permiso denegado

Como podemos observar en el tercer resultado es donde esta ubicado el archivo .bashrc en mi maquina.

2. Una vez ubicado el archivo lo abren con el editor de texto que prefieran, en mi caso lo abro con nano.

jpv3@tu_usuario:~$ nano ./.bashrc

3. Al final del archivo colocan en siguiente lineas de código.

git_branch(){
    git branch  2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

export PS1="\u@\h:\w\$(git_branch)$ "


4. Guardas los cambios, cierras y abres la terminal y cada vez que te ubique en una carpeta que sea un repositorio git te va a mostrar en que rama estas.

Resultado final.