Descripción del trabajo local con GIT
GIT y la entrega continua forman una de esas deliciosas combinaciones de chocolate y mantequilla de cacahuete. En ocasiones, encontramos dos grandes sabores que combinan a la perfección en el mundo del software.
La entrega continua de software requiere un nivel significativo de automatización. La entrega continua resulta difícil sin un código base de calidad.
GIT proporciona los bloques de creación necesarios para que pueda ocuparse de la calidad del código base. Permite automatizar la mayoría de las comprobaciones en el código base. Además, funciona antes de confirmar el código en el repositorio.
Para apreciar totalmente la eficacia de GIT, antes debe comprender cómo llevar a cabo operaciones básicas en GIT. Por ejemplo, clonar, confirmar, enviar cambios e incorporar cambios.
La pregunta natural es, ¿cómo se empieza a trabajar con GIT?
Una opción es pasar a la modalidad nativa con la línea de comandos o buscar un editor de código que admita GIT de forma nativa.
Visual Studio Code es un editor de código abierto multiplataforma que proporciona herramientas de desarrollo eficaces para cientos de lenguajes.
Para trabajar en código abierto, debe adoptar herramientas de código abierto.
Esta receta comienza por:
- Configuración del entorno de desarrollo con Visual Studio Code.
- Creación de un nuevo repositorio de GIT.
- Confirmación de cambios de código localmente.
- Envío de cambios a un repositorio remoto en Azure DevOps.
Preparación
En este tutorial no enseña a inicializar un repositorio de Git localmente.
A continuación, usamos la plantilla de proyecto de MVC de ASP.NET Core para crear un nuevo proyecto y una versión en el repositorio de GIT local.
A continuación, usamos Visual Studio Code para interactuar con el repositorio de GIT para realizar operaciones básicas de confirmación, incorporación de cambios y envío de cambios.
Debe configurar el entorno de trabajo con las soluciones siguientes:
- SDK de .NET 8 o posterior: Descargar .NET.
- Visual Studio Code: descargue Visual Studio Code.
- Extensión C# de Visual Studio Code: programación en C# con Visual Studio Code.
- GIT: GIT (descargas)
- Git para Windows (si utiliza Windows): Git para Windows
Visual Studio Marketplace incluye varias extensiones para Visual Studio Code que puede instalar para mejorar la experiencia de uso de GIT:
- Git Lens: esta extensión ofrece visualización del historial de código mediante anotaciones de Git blame y Code Lens. La extensión le permite navegar fácilmente y explorar el historial de un archivo o rama. Además, la extensión le permite obtener conclusiones valiosas mediante comandos de comparación eficaces y mucho más.
- Historial de GIT: ofrece funcionalidades de visualización e interacción para ver el registro de GIT y el historial de archivos, así como para comparar ramas o confirmaciones.
Cómo hacerlo
Abra el símbolo del sistema y cree una carpeta de trabajo nueva:
mkdir myWebApp cd myWebApp
En myWebApp, inicialice un nuevo repositorio GIT:
git init
Configure las opciones globales para el nombre y la dirección de correo electrónico que se usarán al confirmar en este repositorio GIT:
git config --global user.name "John Doe" git config --global user.email "john.doe@contoso.com"
Si está trabajando detrás de un proxy empresarial, puede hacer que el repositorio de GIT reconozca el proxy. Para hacerlo, agregue los detalles del proxy en el archivo de configuración global de GIT. Diferentes variaciones de este comando le permite configurar un proxy HTTP/HTTPS (con nombre de usuario y contraseña) y, opcionalmente, omitir la comprobación SSL. Ejecute el siguiente comando para configurar un proxy en la configuración global de GIT.
git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
Creación de una aplicación ASP.NET Core. El nuevo comando ofrece una colección de conmutadores que se pueden usar para la selección del lenguaje, la autenticación y la selección del marco. Puede encontrar más detalles en Microsoft Learn.
dotnet new mvc
Inicie Visual Studio Code en el contexto de la carpeta de trabajo actual:
code .
Cuando el proyecto se abra en Visual Studio Code, seleccione Sí en el mensa de advertencia Faltan los recursos necesarios para compilar y depurar en "myWebApp". ¿Desea agregarlos?. Seleccione Restaurar en el mensaje de información There are unresolved dependencies (Hay dependencias sin resolver). Presione F5 para depurar la aplicación y, a continuación, myWebApp se cargará en el explorador, como se muestra en la captura de pantalla siguiente:
Si prefiere usar la línea de comandos, puede ejecutar los siguientes comandos en el contexto del repositorio GIT para ejecutar la aplicación web.
dotnet build dotnet run
Observe que la carpeta ".VS Code" se agrega a la carpeta de trabajo. Para evitar confirmar esta carpeta en el repositorio de Git, puede incluirla en el archivo .gitignore. Seleccione un archivo de la carpeta ".VS Code", presione F1 para iniciar la ventana de comandos en Visual Studio Code, escriba gitIgnore y acepte la opción de incluir el archivo seleccionado en el nuevo. archivo gitIgnore.
Abra el archivo .gitignore, quite el nombre de archivo de la ruta de acceso y deje la carpeta con una barra diagonal, por ejemplo, .VS Code/*.
Para agregar al "stage" el proyecto myWebApp recién creado y confirmarlo en el repositorio de GIT desde Visual Studio Code, vaya al icono de GIT desde el panel izquierdo. Agregue un comentario de confirmación y confirme los cambios haciendo clic en el icono de marca de verificación. Los cambios se agregarán al "stage" y se confirmarán en una operación:
Abra Program.cs. Observe que Git Lens decora las clases y funciones con el historial de confirmaciones y alinea esta información con cada línea de código:
Ahora, inicie cmd en el contexto del repositorio de GIT y ejecute
git branch --list
. Le muestra que solo existe la ramamain
actualmente en este repositorio. A continuación, ejecute el comando siguiente para crear una nueva rama denominadafeature-devops-home-page
.git branch feature-devops-home-page git checkout feature-devops-home-page git branch --list
Ha creado una nueva rama con estos comandos y la ha extraído del repositorio. La palabra clave
--list
muestra una lista de todas las ramas del repositorio. El color verde representa la rama que se ha extraído del repositorio ahora.A continuación, vaya al archivo
~\Views\Home\Index.cshtml
y reemplace el contenido por el texto siguiente.@{ ViewData["Title"] = "Home Page"; } <div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://azure.microsoft.com/services/devops/">Azure DevOps</a>.</p> </div>
Actualice la aplicación web en el explorador para ver los cambios.
En el contexto del repositorio de GIT, ejecute los siguientes comandos. Estos comandos agregan al "stage" los cambios en la rama y, a continuación, los confirmarán.
git status git add . git commit -m "updated welcome page." git status
Para combinar los cambios de feature-devops-home-page en el elemento principal, ejecute los comandos siguientes en el contexto del repositorio de Git.
git checkout main git merge feature-devops-home-page
Ejecute el siguiente comando para eliminar la rama de características.
git branch --delete feature-devops-home-page
Cómo funciona
La manera más fácil de comprender el resultado de los pasos anteriores es comprobar el historial de la operación. Veamos cómo hacerlo.
En GIT, confirmar los cambios en un repositorio es un proceso de dos pasos. En ejecución:
add .
Los cambios se agregan al "stage", pero no se confirman. Por último, la ejecución de la confirmación promueve los cambios "staged" en el repositorio.Para ver el historial de cambios en la rama principal, ejecute el comando
git log -v
.Para investigar los cambios reales en la confirmación, puede ejecutar el comando
git log -p
.
Hay más
Git permite revertir los cambios fácilmente. Siguiendo nuestro ejemplo, si quiere deshacer los cambios realizados en la página principal,
puede hacerlo mediante el restablecimiento de la rama principal a una versión anterior de la confirmación. Para ello, use el comando siguiente.
git reset --hard 5d2441f0be4f1e4ca1f8f83b56dee31251367adc
Al ejecutar el comando anterior, se restablece la rama al cambio de inicialización del proyecto.
Si ejecuta git log -v,
, verá que los cambios realizados en la página principal se han quitado del repositorio.