Las 30 preguntas y respuestas principales de la entrevista de Git que necesita saber en 2022
Publicado: 2021-01-04Git está aumentando en popularidad. Los desarrolladores trabajan continuamente para lanzar versiones más nuevas de la aplicación no beta para corregir errores o mejorar su funcionalidad. Git actúa como un control de versiones donde todos los cambios se almacenan en un repositorio central.
Cada desarrollador en un equipo puede ver las versiones, hacer cambios y luego cargarlo. También funciona increíblemente bien para las personas que trabajan en equipos remotos o desde casa. Git no solo lo usan los desarrolladores. Incluso los miembros del equipo que no son desarrolladores pueden usarlo para obtener la última versión o una versión particular de una aplicación y usarla para realizar pruebas o para otros trabajos.
Donde Git es una herramienta de línea de comandos, Git Hub es el centro, donde los programadores guardan sus proyectos y se comunican con un equipo.
Por lo tanto, tener el conocimiento de Git está en demanda, y con el aumento de la demanda, hemos formado un conjunto de Preguntas de entrevista de Git que lo ayudarían a asegurar un trabajo. Para que sea más fácil de entender, dividiremos las preguntas de la entrevista de GitHub en tres secciones: principiantes, intermedios y avanzados.
Tabla de contenido
Preguntas de entrevista de Git de nivel básico
P.1) Explique la diferencia entre SVN y Git
- SVN es una herramienta de control de versiones centralizado perteneciente a la segunda generación, a diferencia de Git, que es una herramienta de control de versiones descentralizado perteneciente a la tercera generación.
- En SVN, un repositorio del lado del servidor guarda el historial de versiones. En Git, puede copiar todo el repositorio en su PC.
- En SVN, puede confirmar solo cuando está en línea, a diferencia de Git, donde puede confirmar incluso sin conexión.
- Las operaciones de extracción y inserción son más lentas en SVN en comparación con Git, donde son más rápidas.
- En SVN, su trabajo no se comparte hasta que lo haga, a diferencia de Git, que comparte automáticamente.
P.2) ¿Qué es Git?

Git permite a los desarrolladores y miembros de un equipo realizar un seguimiento de los cambios realizados por cualquier persona. También le permite volver a las versiones anteriores. Es un sistema de control de versiones distribuido que ayuda al equipo a saber quién realizó los cambios y en qué fecha y hora. Tiene su propio conjunto de ventajas sobre otros sistemas de control de versiones.
El mayor beneficio de Git es que no depende de un servidor central para guardar todas las versiones de un proyecto. Los desarrolladores pueden crear clones (copias) de un repositorio en sus propios sistemas, lo que muestra el historial completo. Este particular ayuda cuando hay un apagón severo. En Git, hay un repositorio central en la nube donde los programadores o los miembros del equipo pueden realizar cambios y compartirlos con su equipo.
P.3) ¿Cuál es la diferencia entre GitHub y Git?
Un servicio de alojamiento de repositorio Git se denomina GitHub. Además, tiene sus propias características como que ofrece una interfaz gráfica basada en web. Además, GitHub también brinda acceso además de servir como una herramienta de administración para un proyecto.
Por otro lado, Git es un sistema de control de versiones de naturaleza distribuida. Se utiliza principalmente para realizar un seguimiento de los cambios realizados en la aplicación no beta. Ofrece velocidad, soporte e integridad de datos. Los desarrolladores y otros miembros del equipo pueden ver quién realizó qué cambios y en qué fecha.
P.4) ¿Cuáles son las ventajas de utilizar el Sistema de Control de Versiones?
Ayuda al equipo y a sus miembros porque pueden trabajar en cualquier momento, ya que el Sistema de control de versiones les brinda la flexibilidad de fusionar las modificaciones que realizaron en la versión común sin problemas.
El historial muestra todas las versiones anteriores y sus variantes, lo que permite a los miembros del equipo volver atrás si es necesario. Los miembros del equipo también tienen una instantánea de todo el proyecto.
Los miembros del equipo deben comentar cuando realizan modificaciones, lo que ayuda a otros a comprender cuáles son los cambios exactos que hacen que el proyecto esté más organizado. Nadie tiene que esperar una explicación. Los miembros del equipo saben exactamente quién ha cambiado la versión y por qué.
Si hay una desafortunada interrupción del servidor, un VCS distribuido como Git le permite tener el historial completo de su proyecto, ya que se puede descargar en su escritorio.
P.5) ¿Qué lenguaje se usa en Git?
El lenguaje que usa Git es el lenguaje 'C' porque la velocidad que requiere GIT puede satisfacerse con el lenguaje 'C' ya que reduce los tiempos de ejecución, a diferencia de otros lenguajes de alto nivel.
P.6) Cuéntenos algunas funciones de alojamiento del repositorio Git
- Github
- Gitlab
- FuenteForja
- Bitbucket
- GitEnterprise
P.7) ¿Cómo te comprometes con Git?
Para escribir un mensaje de confirmación, debe escribir el comando "git commit -a".
El -a en la línea de comando ordena a git que confirme el contenido más reciente de todos los archivos rastreados que se han modificado. Puede usar el comando "git add <archivo>" antes de git commit -a si es necesario confirmar los nuevos archivos por primera vez.
P.8) ¿Cómo se puede arreglar un compromiso roto?
Puede usar el comando "git commit –amend" para corregir una confirmación rota. Al ejecutar este comando, corrige el mensaje de confirmación roto en el editor.
Leer: Las principales preguntas de la entrevista de Nagios
P.9) ¿Qué significa un repositorio en Git?
Es un lugar donde Git guarda todos los archivos. Git tiene la capacidad de almacenar archivos tanto en el repositorio remoto como en el local.
P.10) ¿Cómo se puede crear un repositorio?
Crear un repositorio es simple en Git. Debe crear un directorio para el proyecto si aún no lo ha hecho. Luego debe ejecutar el comando "git init". Este comando crea el directorio git en el directorio del proyecto.
P.11) ¿Explicar el 'repositorio desnudo' en Git?
Un repositorio de Git simple generalmente se usa como un repositorio remoto, es decir, comparte esto con los miembros de su equipo u otras personas. No hay un árbol de trabajo en su interior porque no se realiza ningún trabajo dentro del repositorio remoto. En otros archivos, no hay archivos dentro de este, que editará. Por el contrario, un directorio de trabajo contiene un subdirectorio .git con todo el historial de versiones y también un árbol de trabajo.
P.12) ¿Qué quiere decir con un 'conflicto' en git?
Por lo general, Git administra todas las fusiones mediante el uso de sus funciones de fusión automática. Pero podría haber un conflicto si dos ramas separadas tuvieran ediciones exactamente en la misma línea de un archivo. También podría ocurrir cuando se elimina un archivo de una rama, pero se ha editado en otra. Es probable que esto suceda cuando se trabaja en un entorno de equipo.
P.13) ¿Qué es git is-tree?
'git is-tree' representa un objeto de árbol que comprende el modo y el nombre del elemento, así como el valor SHA-1 del árbol o un blob.
Preguntas de la entrevista Git de nivel intermedio
P. 14) ¿Cómo resuelves un conflicto si surge en Git?
Puede resolver conflictos en Git de las siguientes maneras:
- Determinar qué archivos han provocado el surgimiento del conflicto.
- Resuelva el conflicto haciendo cambios en ese archivo en particular.
- Agregue estos archivos nuevamente con el comando git add.
- Use el comando git commit para confirmar el archivo.
P.15) Si una confirmación ya se envió y se hizo pública, ¿cómo se revierte en Git?
Hay dos métodos en los que puede hacer esto, dependiendo de la situación:
- Puede eliminarlo por completo o corregir el archivo incorrecto en una nueva confirmación y luego enviarlo de vuelta al repositorio remoto. Este es el método más utilizado para solucionar este problema. Después de realizar los cambios pertinentes en el archivo, con el comando git commit -m “commit message”, lo envía al repositorio remoto.
- Alternativamente, puede crear una nueva confirmación que deshaga todas las modificaciones que se realizaron en la confirmación incorrecta. Podrías hacer esto usando el comando git revert <name of bad commit>
Leer: Preguntas y respuestas de la entrevista ágil

P.16) ¿Qué es SubGit?
Es una herramienta que permite la migración de SVN a Fit. Crea un espejo Git grabable de un repositorio de Subversion local o remoto y utiliza tanto Subversion como Git todo el tiempo que desee. Puede usar SubGit para crear un espejo Git-SVN bidireccional de un repositorio de Subversion existente. También puede realizar rápidamente una importación única desde Subversion a Git.
P.17) ¿Cuál es la diferencia entre el comando git pull y el comando git fetch?
El comando de extracción de Git recupera todos los nuevos cambios o confirmaciones de una rama precisa de su repositorio central y actualiza su rama de destino en su repositorio local.
El comando de búsqueda de Git se usa para algo similar pero tiene una ligera diferencia. Cuando obtienes, recupera todas las confirmaciones nuevas de una rama precisa y las guarda en una nueva rama en tu repositorio local. Si desea reflejar estos cambios en su rama de destino, debe llamar a git merge.
Por lo tanto, Git pull = git fetch + git merge.
P.18) ¿Qué es 'índice' o 'área de preparación' en Git?
El área intermedia donde se pueden formatear o revisar los cambios antes de confirmarlos se denomina índice o área de preparación en Git.
P.19) ¿Qué es git stash? ¿Cómo lo aplicas?
Hay momentos en que una parte del trabajo debe pausarse porque tiene que trabajar en alguna otra rama como prioridad. El trabajo a medio hacer no se puede comprometer ya que no está en esa etapa completa, pero sí quieres volver y trabajar en él en poco tiempo. Para resolver este problema, git slash ofrece ayuda.
Lo guarda en una pila de cambios sin terminar que puede completar y confirmar más tarde. Para volver a este trabajo, todo lo que necesita hacer es llamar al comando git stash para aplicar. Te trae tu trabajo desde donde lo dejaste a tu directorio de trabajo.
P. 20) ¿En qué se diferencia git diff de 'git status'?
'git diff' es casi similar a 'git status'; la única diferencia que tienen ambos es que el primero revela las diferencias entre varias confirmaciones. '
P.21) ¿En qué se diferencia 'git remote' de 'git clone'?
Si desea crear una entrada en su configuración de git que mencione un nombre para una URL específica, use 'git remote add'. Por otro lado, 'git clone' crea un nuevo repositorio git copiando uno existente ubicado en la URL.
Leer: Preguntas y respuestas de la entrevista Top React
P.22) Describa las estrategias de ramificación
Cada empresa tiene sus propias estrategias de ramificación. Estos son algunos de los más populares:
- Bifurcación de funciones: un modelo de rama de funciones guarda todos los cambios realizados para una función específica dentro de una rama. Solo después de una prueba exhaustiva, esta rama se fusiona con su maestro.
- Ramificación de lanzamiento: una vez que la rama de desarrollo ha llegado a un punto en el que está lista para el lanzamiento; puede clonarlo o copiarlo para formar una rama de lanzamiento. Después de la clonación, no se le agrega ninguna característica nueva. Solo puede corregir errores, documentarlo o realizar actividades relacionadas con su mejora para la versión. Una vez probado, se fusiona con su maestro y obtiene un número de versión. Además, debe volver a fusionarse con la rama de desarrollo, que puede haber avanzado desde que se realizó el lanzamiento.
- Bifurcación de tareas: en este modelo, cada tarea se realiza en su rama individual con la clave de tarea en el nombre de la rama. Es claro ver qué código realiza qué tarea al buscar la clave de tarea en el nombre de la rama.
P.23) ¿Explicar el flujo de trabajo de Gitflow?
Gitflow almacena la historia de un proyecto en particular mediante el empleo de dos ramas paralelas de larga duración que dominan y desarrollan:
- Maestro: esto está listo para ir a la sucursal. Todo está probado y aprobado en esta sucursal.
- Revisión: estas ramas se utilizan para parchear rápidamente las versiones de producción. Son casi como sus ramas de características y ramas de lanzamiento; además, se basan en el maestro en lugar del desarrollo.
- Desarrollar: todas las ramas de características se fusionan en esta rama. Estos son los que se someten a pruebas. Solo después de rigurosas pruebas, se fusiona con la rama maestra.
- Característica: cada nueva característica debe ubicarse en su propia rama, que luego se envía a su rama principal, que es la rama de desarrollo.
P. 24) ¿Cómo se sabe si una sucursal se fusiona con la maestra?
Los siguientes comandos lo ayudan a saber si están fusionados o no:
git branch –merged: enumera todas las ramas que se han fusionado en la rama actual. A continuación, puede ver si lo es o no.
git branch –no-merged: alternativamente, puede usar este comando para verificar todas las ramas que no están fusionadas con su rama maestra.
P.25) ¿Cómo puede eliminar un archivo de git sin eliminarlo de su sistema de archivos?
Debe tener cuidado al agregar archivos a Git para no terminar agregando archivos incorrectos. El comando git rm lo eliminará tanto del área de preparación como del sistema de archivos, por lo que debe usar el comando git reset en su lugar.
Puede usar git reset filename o echo filename >> .gitingore
P.26) ¿Explica el cambio de base y la fusión en Git?
Utiliza el comando rebase para integrar ediciones de una rama a otra. Se utiliza como una alternativa al comando de combinación. Es una alternativa al comando "fusionar". Se diferencia de merge en que reescribe el historial de confirmaciones para proporcionar una sucesión ordenada y directa de confirmaciones.
Preguntas de la entrevista de Git de nivel avanzado:
P.27) ¿Cómo se agrupan las últimas N confirmaciones en una única confirmación?
Hay dos formas de aplastar las últimas N confirmaciones en una única confirmación, que son:
Si desea crear un nuevo mensaje de confirmación desde el principio, puede usar el siguiente comando:
git reset –soft HEAD~N &&git confirmar
Si simplemente desea editar el nuevo mensaje de confirmación con una concatenación de los mensajes de confirmación existentes, debe obtener esos mensajes y pasarlos a la confirmación de Git utilizando el comando:
git reset –soft HEAD~N &&git commit –edit -m”$(git log –format=%B –reverse .HEAD@{N} )”
P.28) ¿Cuáles son los pasos para integrar Jenkins con Git?
Paso 1: debe hacer clic en el panel de control de Jenkins para administrar el botón de Jenkins.
Paso 2: Haga clic en el botón administrar complementos.
Paso 3: en la página de complementos, debe seleccionar el complemento GIT. Haga clic en instalar sin reiniciar. El complemento se descarga automáticamente, dependiendo de la velocidad de su Internet.
P.29) Explique qué es la bisección de Git y cómo se usa para llegar al origen de un error.
Al usar Git bisect, puede averiguar qué confirmación causó el error mediante la búsqueda binaria. El comando para Git bisect es git bisect <subcomando> <opciones>
un algoritmo de búsqueda binaria, este comando encuentra qué compromiso causó el error en primer lugar. Git bisect elige una confirmación entre los dos extremos donde se introdujo el error. Necesitas Puedes determinar entre una buena confirmación y una mala. Continúa filtrándolo, hasta que se encuentra la confirmación exacta.

P.30) ¿Explicar un reflog de git?
El comando 'reflog' ayuda a realizar un seguimiento de cada edición individual que se realizó en las referencias de un repositorio. Mantiene un historial de datos de las sucursales e incluso guarda una etiqueta a las creadas localmente o fuera .
Este comando debe ejecutarse en el repositorio que tenía la rama faltante. En el caso de una situación de repositorio remoto, debe ejecutar el comando reflog en el sistema del programador que tenía la rama.
Obtenga títulos de ingeniería de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Conclusión
Esperamos que las preguntas de la entrevista de Git Hub lo ayuden a conseguir el trabajo de sus sueños. Estas son las preguntas de Git más frecuentes del entrevistador. ¡Le deseamos lo mejor para su entrevista!
