github tutorial developers how use github
Este tutorial de GitHub explica qué es GitHub y cómo crear un repositorio, una rama y una solicitud de extracción. Incluye reglas de protección de sucursales y resolución de conflictos:
¿Qué es GitHub?
GitHub es un servicio en la nube que ayuda a los desarrolladores a almacenar y administrar su código fuente, así como a rastrear y controlar todos los cambios en el código fuente.
En términos simples, GitHub está destinado a desarrolladores en los que pueden administrar el proyecto, alojar el código fuente y revisarlo también. Exploraremos todos estos en esta serie.
Lista de tutoriales en esta serie de GitHub:
Tutorial #1: Tutorial de GitHub para desarrolladores | Cómo usar GitHub (Este tutorial)
Tutorial #2: Proyectos, equipos, bifurcación y wiki de GitHub para documentar proyectos
Tutorial #3: Comandos avanzados de Git y tutorial de integración de GitHub
Tutorial #4: Tutorial de la API REST de GitHub: compatibilidad con la API REST en GitHub
Tutorial #5: Tutorial de escritorio de GitHub: colabore con GitHub desde su escritorio
Tutorial #6: Tutorial de TortoiseGit - Cómo utilizar TortoiseGit para el control de versiones
Lo que vas a aprender:
- ¿Qué es Git?
- Introducción a GitHub
- Crear un repositorio de GitHub
- Mover un archivo
- Crear una rama de GitHub
- Crear una solicitud de extracción de GitHub
- Asignar revisores con solicitudes de extracción y revisión de código
- Resolviendo conflictos
- Reglas de protección de sucursales
- Transferencia de un repositorio a otra cuenta de usuario
- Algunos comandos de Git útiles
- Conclusión
¿Qué es Git?
Git es un sistema de control de versiones de código abierto donde todo el código fuente está disponible en la máquina del desarrollador. Git también es un cliente y un sistema de control de versiones distribuido (DVCS) donde puede realizar ramificaciones y fusiones.
Introducción a GitHub
Para comenzar con GitHub, realizaremos los siguientes pasos.
- Crea un repositorio para organizar proyectos.
- Crear una sucursal
- Realice cambios en el archivo y confíe.
- Cree una solicitud de extracción para fusionar contenidos.
- Proteger rama
En la segunda parte de la serie, también veremos las otras características de GitHub como la creación de organizaciones, equipos, problemas, hitos, bifurcaciones, lanzamientos y wikis.
Crear un repositorio de GitHub
Un repositorio de GitHub contiene los artefactos del proyecto, como el código fuente, documentos, imágenes, etc. Crearemos y usaremos un repositorio de demostración para realizar todos los pasos anteriores.
Inicie sesión en Github.com y Crear un nuevo repositorio . Clickea en el Nuevo botón.
Agregue los detalles del repositorio a continuación como se muestra y haga clic en Crear repositorio . Establezca el acceso a Privado o Público. Es mejor configurarlo como público, ya que pocas funciones dependen de este acceso.
Nota: El usuario que crea el repositorio es el propietario del repositorio de GitHub.
El repositorio se crea con un archivo README.
Agregar colaboradores al repositorio de GitHub
Queremos que el equipo trabaje en este repositorio. Para ello, tendremos que invitar a los colaboradores a trabajar en el repositorio. Para agregar colaboradores, vaya a la página principal del Repositorio y haga clic en el Ajustes icono.
Haga clic en Colaboradores en el panel izquierdo y agregue los colaboradores que tienen una cuenta de Github. Se enviaría una invitación y los colaboradores tendrían que aceptar la invitación.
Los colaboradores se agregan como se muestra a continuación. Más adelante, en este tutorial, veremos cómo se agregarán los Colaboradores como revisor de la solicitud de extracción creada para fusionar el código.
Realización de una C básica omitir
Abra el archivo README y realice una confirmación básica. Clickea en el Editar icono para comenzar a modificar el archivo.
Modifique el archivo, agregue un comentario y haga clic en Cometer .
El archivo se confirma (los cambios se guardan) en el repositorio de Github.
Se verán pocas operaciones para crear carpetas y archivos dentro del Repositorio.
Para crear la carpeta y un archivo dentro: Clickea en el Crear nuevo archivo en el nivel del repositorio. Escriba el nombre del directorio seguido de / y el nombre del archivo como se muestra a continuación.
Haga clic en Cometer en el fondo. La carpeta y el archivo se crean como se muestra. Por tanto, los archivos y carpetas se crean en el Maestro rama que es la rama de integración principal y principalmente donde se pueden construir las versiones de software.
Los desarrolladores normalmente trabajan en la tarea que se les asigna en una rama separada y fusionan los cambios en la rama maestra. Por ejemplo, se pueden crear ramas para el desarrollo de funciones o para resolver errores o trabajar en mejoras, etc. Así, al crear una rama, el trabajo se aísla sin molestar a las otras ramas.
En el siguiente paso, podemos ver cómo se pueden crear las ramas y definir las solicitudes de extracción para revisar y fusionar el código en la rama maestra.
Mover un archivo
Para mover un archivo a otra carpeta, siga los siguientes pasos. Por ejemplo, para mover el archivo rules.txt a una carpeta de documentos. Haga clic en el archivo.
Haga clic en el icono para editar el archivo.
Agregar la ruta Doc/ antes del archivo rules.txt . Haga clic en Cometer cambios.
La ruta ahora está actualizada.
Crear una rama de GitHub
Vaya a la página principal del repositorio y escriba para crear un característica rama como se muestra. Haga clic en Crear rama.
Ahora estamos en el característica rama. Los archivos son los mismos. Ahora haremos algunos cambios en los archivos en el característica rama y crea una solicitud de extracción para revisar los cambios y fusionar el código en el Maestro rama.
Realice cambios en los archivos de la rama de funciones.
Abra el archivo Java en la carpeta Src y agregue algo de código y confirme el cambio.
Crear una solicitud de extracción de GitHub
En la sección anterior, creamos una rama característica e hizo algunos cambios en un archivo. Los cambios no están en el Maestro rama. Para ello, necesitamos crear una Pull Request mediante la cual el usuario proponga ciertos cambios para ser revisados y fusionados en el Maestro rama.
La creación de una solicitud de extracción mostrará las diferencias entre la rama de origen y la de destino y será necesario para resolver los conflictos, si los hubiera.
Haga clic en Comparar y solicitar extracción en la página principal del repositorio.
Puede ver que los cambios en ambas ramas se pueden fusionar. Haga clic en Crear solicitud de extracción.
Haga clic en Fusionar solicitud de extracción y Confirmar para completar la fusión.
Los cambios se fusionan con éxito en el Maestro rama. Nuestra primera solicitud de extracción se completó con éxito.
Asignar revisores con solicitudes de extracción y revisión de código
Github tiene una buena característica de usar un archivo CODEOWNERS donde podemos seleccionar a las personas responsables del código fuente en el repositorio. Los propietarios del repositorio pueden crear este archivo y cualquier usuario definido en el archivo se solicita de forma predeterminada para la revisión durante la creación de la solicitud de extracción.
Para usar esta función, debe usar la versión GitHub Pro o hacer que el repositorio sea público.
En la raíz del repositorio, cree este archivo en el siguiente formato y confirme el archivo.
* @username o @orgname o @teamname
* principalmente significa todos los archivos en el repositorio. También puede especificar extensiones específicas como * .java o * .js, etc. Los usuarios definidos en el archivo recibirán una solicitud de revisión automáticamente. Con el archivo CODEOWNERS definido, no hay necesidad de agregar revisores explícitamente manualmente y tiene un poco más de flexibilidad para elegir qué archivos se revisarán.
Regreso en el característica branch realiza un pequeño cambio en el archivo Java y crea una solicitud de extracción. En la pantalla Pull Request, asigne un revisor en el lado derecho. Haga clic en Crear solicitud de extracción.
Puede ver en la pantalla anterior que los revisores se pueden asignar manualmente, pero los revisores se definen en el archivo CODEOWNERS y recibirán automáticamente una solicitud para revisar los cambios de código.
De todos modos, por ahora, vamos acceso como revisor y aprobar los cambios. Inicie sesión como usuario vniranjan2512 para aprobar los cambios.
Hay una solicitud para aprobar / rechazar los cambios, en Solicitud de extracción.
Haga clic en Pull Request y Agrega tu evaluación.
Puedes hacer click en el + firmar y agregar comentarios de revisión para la línea de código Agregado / Modificado / Eliminado, en la pantalla que aparece.
Haga clic en Inicie una revisión.
Haga clic en Termina tu revisión. Aprobar como se muestra y Enviar opinión .
De vuelta como el usuario original que generó una solicitud de extracción, puede agregar un comentario y resolver o cerrar la conversación.
La solicitud de extracción de combinación ahora se puede completar.
Los cambios se fusionaron con éxito en el Maestro branch publica la revisión y fusiona la solicitud de extracción.
Entonces, para resumir en esta etapa, hemos visto que los desarrolladores trabajan en característica rama y luego generar una solicitud de extracción para fusionar los cambios en el Maestro rama. Lo anterior fue un escenario donde no hubo conflictos. En la siguiente sección, veremos las formas de resolver conflictos manualmente si los archivos se cambian en múltiples ramas.
Resolviendo conflictos
Es posible que se cambien los mismos archivos en varias ramas. En este caso, habría conflictos y hay que resolverlo mediante el Pull Request planteado.
Por ejemplo, realizar cambios en el archivo Java tanto en Maestro y característica ramas y generar una solicitud de extracción.
El mensaje de solicitud de extracción que se muestra es que los cambios no se pueden combinar automáticamente. Por lo tanto, los conflictos deben resolverse. Proceda a crear una solicitud de extracción.
Una vez que se genera la solicitud de extracción, los conflictos deberán resolverse haciendo clic en el Resolver conflictos botón.
Elimine las marcas que básicamente resuelven conflictos manualmente y haga clic en marca como resuelto y Comprometerse a fusionar.
La vista final del archivo después de eliminar las marcas.
Se puede completar la solicitud de extracción de combinación. los Maestro y característica las ramas ahora serán idénticas.
Aún puede ver en la pantalla anterior que la revisión se solicita pero no es obligatoria. En la siguiente sección, veremos las reglas de protección de sucursales en las que el propietario del repositorio puede solicitar obligatoriamente una revisión y también proteger el Maestro rama de comprometerse directamente con él, pero solo a través de una solicitud de extracción.
Reglas de protección de sucursales
En las secciones anteriores, vimos acerca de las solicitudes de extracción de Github y también solicitamos revisiones que no eran obligatorias u opcionales. En el código de escenarios de proyecto típico, las revisiones son una necesidad y una parte del proceso de desarrollo.
Veamos cómo hacer cumplir esto.
En github.com, esta función se puede configurar solo para repositorios públicos o usando la versión pro de Github. En la página principal del repositorio, vaya a Ajustes y haga clic en el Sucursales categoría a la izquierda.
Haga clic en Agregar regla bajo la Reglas de protección de sucursales. La regla agregó solicitudes de revisiones de solicitudes de extracción obligatorias de los propietarios del código antes de fusionarse para el Maestro rama.
Esto también asegurará que el rama maestra está protegido y no se pueden realizar confirmaciones directas en esta rama y solo se pueden confirmar a través de las solicitudes de extracción después de una revisión exhaustiva. Esta configuración la establece el propietario del repositorio.
¡¡¡Una gran característica de verdad !!!
Haga clic en Crear una vez hecho. Para probar este escenario, realice un cambio en un archivo en el característica branch y cree una solicitud de extracción.
La siguiente pantalla muestra que los propietarios del código requieren obligatoriamente una revisión.
Publique la revisión de los propietarios del código, la solicitud de extracción se puede fusionar.
Como colaborador del repositorio, si realiza cambios en alguno de los archivos, debido a las reglas de las ramas protegidas creadas, no podrá comprometerse directamente con la rama maestra sino solo a través de una solicitud de extracción después de crear una rama como se muestra. debajo.
Transferencia de un repositorio a otra cuenta de usuario
Normalmente, un repositorio de usuarios personal tiene un único propietario y todos los demás son colaboradores. Entonces, en cierto sentido, no puede tener varios propietarios en un repositorio de cuentas de usuario. Pero la propiedad se puede transferir a otra cuenta de usuario. Cuando termina, el propietario del repositorio original se convierte automáticamente en colaborador en el repositorio de la nueva cuenta de usuario.
El nuevo propietario puede comenzar a administrar los artefactos, los problemas, las solicitudes de extracción, los proyectos, las versiones y la configuración.
Normalmente, cuando se ejecutan comandos como 'git clone' o 'git push' en el repositorio local, los comandos se redireccionarán al nuevo repositorio. Pero cuando ejecuta el comando 'git remote -v', seguirá mostrando la URL del repositorio original. Para evitar confusiones, cambie a la nueva URL remota, publique la transferencia del repositorio usando el comando 'git remote set-url'.
Para transferir un repositorio, vaya a la pestaña Configuración del repositorio y en Opciones? Haz clic en Danger Zone Transferir
Ingrese el nombre del repositorio y la nueva cuenta de usuario a quien se debe transferir la propiedad.
Haga clic en Entiendo, transferir este repositorio
Debería ver un mensaje de que el repositorio se transfiere al nuevo propietario.
Se enviará un correo al propietario del repositorio original para aprobar la transferencia. Una vez que se aprueba la transferencia, el repositorio se transferirá al nuevo propietario y el propietario del repositorio original se agregará como colaborador.
Ahora configure la nueva URL del repositorio en la máquina donde se clonó el antiguo repositorio. Los siguientes comandos deben configurarse en todas las máquinas donde se clonó el antiguo repositorio.
Se transferirán todas las solicitudes de extracción, problemas y wiki. Las asignaciones de problemas permanecerán intactas.
Algunos comandos de Git útiles
Hay algunos de los comandos básicos de Git que se configurarán inicialmente en su máquina local una vez que el cliente Git esté instalado en su máquina Linux o Windows. Los desarrolladores trabajan localmente, sin conexión al repositorio en GitHub, en la copia completa del código fuente disponible en GitHub y sincronizan con él.
En primer lugar, configure su nombre de usuario y dirección de correo electrónico para asegurarse de que todas las confirmaciones usen esta información.
git config –global user.name “UserName”
git config –global user.email 'myemail@myemail.com'
Cuando necesite agregar un mensaje durante las confirmaciones, también puede configurar el editor necesario para el mismo.
preguntas de la entrevista de prueba manual para 4 años de experiencia
git config –global core.editor bloc de notas
Obtenga una lista de todos los valores de configuración establecidos.
git config –list
A veces, las organizaciones tienen servidores proxy para conectarse a Internet. En ese caso, deberá especificar un servidor proxy y un número de puerto para acceder a todos los repositorios en GitHub.
git config –global http.proxyhttp: // Nombre de usuario: Contraseña @ proxyserver: puerto
Clone o haga una copia local del repositorio. Obtenga la URL clonada del repositorio en GitHub y ejecute el comando git.
Conclusión
En este tutorial, hemos visto cómo un desarrollador puede comenzar a trabajar en GitHub, directamente desde Crear un repositorio de GitHub, rama, solicitud de extracción, proteger una rama y algunos comandos básicos de Git.
En nuestro próximo tutorial, veremos las otras características de GitHub principalmente sobre cómo crear organizaciones, equipos, bifurcar un repositorio, crear problemas, hitos y asociarse con solicitudes de extracción, wiki y sus usos y algunos otros comandos avanzados de Git que serán útiles. a los desarrolladores.
Lectura recomendada
- Tutorial de reflexión de Java con ejemplos
- Git vs GitHub: Explore las diferencias con ejemplos
- Tutorial de Python DateTime con ejemplos
- Integración de selenio con GitHub usando Eclipse
- Una guía rápida de SoapUI para almacenar datos de solicitudes y respuestas en un archivo - Tutorial de SoapUI n. ° 15
- Tutorial de Bugzilla: Tutorial práctico de la herramienta de gestión de defectos
- Más de 20 tutoriales de MongoDB para principiantes: curso gratuito de MongoDB
- Tutorial de fragmentación de MongoDB con ejemplo