
Git en Visual Studio 2017
Esta guía cubre lo básico para que podamos empezar a utilizar GIT en Visual Studio con código en Visual Studio Team Services (VSTS) o Visual Studio Team Foundation Server (TFS) (Las versiones modernas que soportan GIT).
Obtener nuestro código
Para obtener una copia de nuestro código, tenemos que clonar un repositorio de VSTS. Clonar crea una copia del código fuente para que trabajemos con el y tambien de toda la información de control de versiones para que GIT pueda administrarla.
Si no tenemos un repositorio de GIT aún, podemos crear uno usando el propio código y continuar con los pasos de este artículo para comitear y compartir nuestro trabajo.
Desde Visual Studio
- En el Team Explorer (si no lo tenemos abierto podemos abrirlo usando Ver > Team Explorer)
abrimos la página Conectar haciendo click en el ícono de un cablecito, y luego expandiendo
Administrar conexiones elegimos Conectar a proyecto
\
- En el cuadro de dialogo de Conectar a proyecto, elegimos el repositorio que queremos
clonar de la lista y elegimos Clonar. Si no vemos un repositorio listado, podemos filtrar
la lista para encontrarlo o agregar algun Servidor de Team Foundation
donde esté alojado el repositorio haciendo click en el enlace Agregar servidor TFS.
\
- Verificamos la ubicación del repositorio clonado en tu PC y hacemos click en Clonar
Desde la consola
- Descarga e instala Git y el Administrador de Credenciales de Git para tu plataforma.
- Abre el portal web de VSTS navegando a
https://<your account name>.visualstudio.com
y encuentra tu repositorio GIT. Copia la dirección de clonado desde el Popup.
\
- Utilizando la consola, navega hasta la carpeta que quieres que se guarde el código en tu computadora local.
- Desde la línea de comandos ejecuta el
git clone
seguido de la URL de clonado, como se muestra en el siguiente ejemplo:
git clone https://fabrikam-fiber.visualstudio.com/DefaultCollection/_git/FabrikamFiber
Git descarga y crea tu propia copia del código en una nueva carpeta para que trabajes con el.
Comitear nuestro trabajo
Las ramas aislan los cambios de otro trabajo hecho en el proyecto. El flujo de trabajo recomendado para Git utiliza una nueva rama para cada característica o arreglo en el que estés trabajando. Podemos hacer commits en nuestro repositorio de Git local para guardar nuestros cambios para esa rama.
Desde Visual Studio
- En el Team Explorer, seleccionemos el ícono de la Inicio (la casita) y luego elijamos
Ramas (Branches)
\
- Hagamos click derecho en la rama master y elijamos Nueva rama local desde…
\
- Elijamos un nombre descriptivo sobre nuestro trabajo para recordar a ti y a otros
que es lo que se va a hacer en esta rema y luego toquemos en Crear rama.
\
- Hagamos cambios a nuestros archivos en este repositorio clonado. Desde la vista Inicio del TeamExplorer, podemos abrir soluciones de Visual Studio en el repositorio o navegar por los contenidos del repositorio utilizando la vista Mostrar vista de directorios. Git va llevando los cambios que hagamos a nuestro código adentro y afuera de Visual Studio.
- Cuando estamos satisfechos con los cambios, los guardamos en Git usando un commit.
Abramos la vista de Cambios desde el Team Explorer seleccionando el ícono de Inicio
(la casita) y eligiendo Cambios.
\
- Ingresemos un mensaje para describir el commit y luego seleccionemos Confirmar todo
Nota:
Si tenemos multiples archivos y no queremos comitear todos ellos, podemos hacer click derecho en cada archivo que si queremos comitear y elegir Preparar. Cuando hemos preparado todos los cambios que queremos comitear, hacemos click en Confirmar por etapas. (El botón Confirmar todo es remplazado por el botón Confirmar por etapas cuando estamos preparando los cambios de manera manual antes del commit).
Desde la consola
- Creemos una rama donde vas a trabajar con el código y hagamos los cambios. Si estamos
colaboriando con alguien más usando la rama que ellos crearon, podemos evitarnos este paso
siguiendo con el paso del
git checkout
.git branch ReadmeFix
- Hagamos checkout de la rama para que podamos empezar a trabajar en ella.
También podemos usar el comando
git checkout ReadmeFix
checkout
para empezar a trabajar en una rama que otros miembros del equipo ya hayan creado previamente. - Hagamos los cambios en el código que deseemos hacer.
- Cuando estamos satisfechos con los cambios, incluso si no estamos listos para
compartir el trabajo realizado, los guardemos utilizando un commit. Los cambios no se
van a compartir hasta que no hagamos push (Insertar se llama en Visual Studio).
Para guardar los cambios hacemos lo siguiente:
git commit -a -m "Mensaje descriptivo del commit"
Esto va a guardar los cambios localmente en un nuevo
commit en Git.
Nos aseguremos de darle al commit un mensaje corto describiendo los cambios después
del flag -m
.
Compartir nuestros cambios
Cuando estamos listos para compartir los cambios con el equipo, los podemos pushear para que otros los puedan ver. Solo podemos pushear cambios que han sido agregados a un commit.
Una vez que pusheemos los cambios, podemos crear un pull request para hacerle saber a otros que queremos que nuestros cambios sean revisados y después agregados a la rama principal de nuestro código.
Desde Visual Studio
- Abramos la vista Sincronización en el Team Explorer seleccionando el ícono de
Inicio(la casita) y eligiendo Sincronización.
También podemos navegar a la vista de Sincronización desde la vista de Cambios eligiendo Sincronizar inmediatamente después de hacer un commit.
\
- Seleccionemos Insertar (push)para compartir nuestros commits con el repositorio remoto.
Si este es nuestro primer push al repositorio vamos a ver el siguiente mensaje en lugar de la lista de commits para insertar.La rama actual no sigue ninguna rama remota. Inserta tus cambios en una rama nueva en el remoto origin y configura la rama de subida
Seleccionemos Insertar para pushear nuestros cambios en una rama nueva en el repositorio remoto y configurar la rama de subida. La proxima vez que pusheemos cambios vamos a ver la lista de commits. - Creemos un pull request para que otros puedan revisar nuestros cambios. Abramos
Pull Requests en el Team Explorer tocando el ícono de Inicio y elijamos
Pull Requests.
\
- Desde la vista Pull Requests podemos ver los pull requests iniciados por nosotros,
asignados a nosotros y también podemos crear nuevos pull requests. Seleccionemos
Nuevo Pull Requests para abrir un navegador web donde puedas crear el nuevo pull request en el portal web de VSTS.
1.Verifica tu rama (en este ejemplo quedemos mergear los commits de una ramaReadmeFix
en la ramamaster
), entremos un título y opcionalmente una descripción, especifiquemos algún revisor y opcionalmente asociemos cualquier item de trabajo, y seleccionemos Create.
Desde la consola
- Pusheemos nuestra rama para que otros puedan ver los cambios que hicimos.
- Abramos el proyecto de VSTS en el portal web y naveguemos hasta el repositorio
desde la pestaña Code. Seleccionemos el enlace Create a pull request
(VSTS está en inglés) para crear un pull request para la rama que acabamos de pushear.
\
- Verifiquemos nuestras ramas (en este ejemplo queremos mergear los commits de
la rama
ReadMeFix
en la ramamaster
), ingresemos un título y opcionalmente una descripción, especifiquemos algun revisor, y opcionalmente asignemos items de trabajo, luego seleccionamos Create
\
- Una vez que los cambios han sido aprobados, completemos el pull request en VSTS. Esto hará que los cambios de esa rama se mezclen con la rama master.
Sincronizar nuestro trabajo con otros
Para obtener cambios de otros y mantener nuestro código fuente actualizado, podemos hacer pull de los commits hechos por otros y mergearlos en nuestro branch. Git es muy bueno mezclando multiples cambios incluso en el mismo archivo, pero a veces es necesario resolver conflictos. Una buena idea es hacer pull de las ramas regularmente para mantenerlas actualizadas con los cambios de otros asi nos reducimos las posibilidades de conflictos. Esto tambien nos asegura que nuestras ramas principales están usando la ultima versión del código.
Desde Visual Studio
- Abramos la vista Sincronización en el Team Explorer seleccionando el ícono de Inicio
y eligiendo Sincronización
\
- Podemos descargar los ultimos cambios para la rama en la que estamos trabajando usando el
enlace Recuperar. (Hay dos enlaces Recuperar, uno arriba y otro más abajo
en la sección confirmaciones de entrada.
Podemos utilizar cualquiera de ellos ya que hacen la misma cosa.)
Desde la consola
- Cambiemos al branch en el que queremos que se descarguen los cambios que otros han hecho.
Este ejemplo utiliza cambios hechos por otros de tu equipo en la rama
ReadMeFix
que serán mezclados con la copia local de la rama.git checkout ReadMeFix
- Hagamos pull de los cambios hechos por otros en nuestra rama local.
git checkout ReadMeFix
Git descarga los cambios y los mezcla con tus propios cambios en tu rama local.