¿Cuál es la diferencia entre Git y GitHub?

¿Qué es Git?

Git es unsistema de control de versiones distribuidas(o VCS), que normalmente se utiliza para realizar un seguimiento de los cambios en los archivos. Fue desarrollado en 2005 por Linus Torvalds, el creador del kernel de Linux. El uso principal de Git es realizar un seguimiento de los cambios dentro del código fuente durante el proceso de desarrollo de software. Source Code Management o SCM fue la razón principal de su creación.

Git no es el único VCS disponible, pero ciertamente es el más popular. Esto se debe principalmente a que es una plataforma gratuita, de código abierto, multiplataforma, altamente integrable y relativamente simple de usar. En este artículo, aprenderemos un poco sobre los sistemas de control de versiones y qué son Git y GitHub. También revisaremos cómo funcionan juntos. Básicamente, un software de control de versiones nos permite realizar un seguimiento de los cambios en el código. De esta forma, podemos ver y evaluar las diferencias entre múltiples iteraciones o revisiones de archivos.

Aquí hay un caso de uso típico. Digamos que creamos un sitio web y funciona bien, ¡incluso después de algunas actualizaciones! Un día, hacemos algunos pequeños cambios en el sitio y, de repente, se rompe. Por lo general, tendríamos que recordar todos los cambios que hicimos en la actualización anterior. Luego, regrese y revertirlos todos manualmente. Git, por otro lado, nos muestra exactamente qué cambios hicimos, incluidos qué archivos. Esto hace que sea mucho más fácil localizar el problema. También podríamos revertir directamente los cambios anteriores y revertir cualquier actualización que pueda haber causado el problema. Para lograr esto, Git usa repositorios.

¿Qué es un repositorio Git?

ARepositorio Git(o repo, para abreviar) es esencialmente la carpeta donde se encuentra nuestro proyecto. También incluye un directorio .git que contiene todo el historial de revisión de nuestros archivos de proyecto. Hay dos tipos de repositorios:

  • repositorio local— Esta carpeta contiene todos los archivos en nuestra computadora local donde hacemos nuestro trabajo.
  • Repositorio remoto— Este es un repositorio externo. Por lo general, se encuentra en el servidor donde vive nuestro proyecto. También puede residir en un servicio de alojamiento de repositorio como GitHub.

El uso de repositorios remotos es una de las funcionalidades críticas de Git. Amplía su uso como VCS y lo convierte en una herramienta colaborativa. Los proyectos complejos suelen tener varias personas trabajando en ellos. Un repositorio remoto almacena nuestro código de proyecto compartido en una ubicación. Además, también realiza un seguimiento de quién hizo qué cambios y cuándo.

Distribución

Mencionamos anteriormente que Git es unrepartidoVCS. Para explicar este concepto, necesitamos echar un vistazo a otros dos tipos de sistemas de control de versiones:

  • Ubicación de VCS:Esta es la forma más antigua y básica de VCS. Por lo general, estos son simplemente una base de datos que realiza un seguimiento de los cambios realizados en un conjunto de archivos en una computadora local. Estos no funcionan muy bien cuando varios desarrolladores están trabajando en un proyecto.
  • SVC centralizadoEste es un paso adelante de un VCS local. El proyecto y su base de datos de versión se mantienen en una única ubicación, normalmente en un servidor. Los colaboradores pueden “desproteger” los archivos en los que necesitan trabajar. Esto es similar a sacar un libro de la biblioteca. Suponiendo que las bibliotecas le permitieran modificar y actualizar el contenido de un libro.

Sin embargo, si el servidor central deja de estar disponible o falla, todo el proyecto se detiene o se pierde. A menos que exista un sistema de respaldo, los VCS distribuidos entran en juego. Usando Git u otro DVCS, el repositorio local de cada usuario contiene una copia completa de todos los archivos del proyecto. También contiene todo el historial de revisiones. Cada usuario tiene una copia de seguridad completa de los datos. En caso de que ocurran fallas críticas, el proyecto puede restaurarse rápidamente.

Derivación

Otra característica esencial de VCS esderivación. La bifurcación se define como la separación del trabajo del proyecto principal para modificar el código del proyecto sin afectar la rama principal (maestra). Esta característica es especialmente útil cuando se prueban e implementan nuevas características o se prueban soluciones alternativas para un problema o tarea. Si se mejora esa rama, se aplicará a la rama maestra y se fusionará con ella. El sistema de ramificación de Git es conocido por ser ligero y rápido. De hecho, se recomienda la ramificación y la fusión como parte del flujo de trabajo.

¿Qué es GitHub?

GitHubes un servicio de alojamiento de repositorios. Si bien no hemos cubierto comandos o flujos de trabajo de git específicos en este artículo en particular, debemos tener en cuenta algunos puntos críticos:

githubloogo
  • Git es un software independiente quenecesita ser instalado. La instalación diferirá entre los diferentes sistemas operativos. Lo mejor es verificar qué se debe hacer para que Git funcione en nuestro sistema específico.
  • Git se usa a menudo a través de la CLI (interfaz de línea de comandos). También están disponibles herramientas GUI (interfaz gráfica de usuario) integradas y de terceros.
  • Otra forma popular de usar Git es directamente a través de un editor de texto o IDE. Muchos IDE admiten Git de forma nativa. Otros pueden requerir la instalación de un complemento o agregar una extensión. Algunos ejemplos de esto son:
    • Sublime
    • Átomo
    • NetBean
    • Eclipse
    • estudio visual de microsoft
    • código de estudio visual
    • Bloc de notas++
    • VSCodio

Repositorios

Cuando se trabaja en un proyecto de forma independiente, usar Git y configurar un repositorio remoto siempre es una buena idea. Es mejor tener un sistema de revisión para usarlo como respaldo, que perder el tiempo reconstruyendo los datos perdidos.

También debemos tener en cuenta si queremos que nuestro proyecto esté disponible públicamente (código abierto) o privado. GitHub ofrece ambas opciones como un medio para compartir su código o mantenerlo confidencial.

Conclusión

Para responder a nuestra pregunta original ¿Cuál es la diferencia entre Git y GitHub?

La respuesta simple es que Git es un sistema de control de versiones que nos permite administrar y rastrear el historial de nuestro código fuente. GitHub es el medio de almacenamiento basado en la nube que nos permite mantener esos cambios en un repositorio remoto. El uso conjunto de Git y GitHub es una opción sensata para mantener el desarrollo continuo de una base de código.

Aprende más

¡Nos enorgullecemos de ser los seres humanos más serviciales en Hosting™!

Nuestro equipo de soporte está lleno de técnicos experimentados en Linux y administradores de sistemas talentosos que tienen un conocimiento profundo de múltiples tecnologías de alojamiento web, especialmente las que se analizan en este artículo.

Si tiene alguna pregunta con respecto a esta información, siempre estamos disponibles para responder cualquier consulta con temas relacionados con este artículo, las 24 horas del día, los 7 días de la semana, los 365 días del año.

Si es un servidor VPS completamente administrado, Cloud Dedicado, privado de VMWare Cloudservidor principal privado, administrado Cloud servidores, o el propietario de un servidor dedicado y no se siente cómodo realizando cualquiera de los pasos descritos, puede comunicarse con nosotros por teléfono al 800.580.4985, uncharlaro ticket de soporte para ayudarlo con este proceso.

Artículos Relacionados