Diferencia entre Git y GitHub

Respuestas:

366

Git es un sistema de control de revisiones, una herramienta para administrar su historial de código fuente.

GitHub es un servicio de alojamiento para repositorios Git.

Por lo tanto, no son lo mismo: Git es la herramienta , GitHub es el servicio para proyectos que usan Git .

Para obtener su código en GitHub, eche un vistazo aquí .

Schlicht
fuente
22
En particular, GitHub es una consecuencia de la existencia de git y no el único servicio de alojamiento.
Jonas Schäfer
83
Además, no tiene que usar un servicio remoto como github si todo lo que desea es el control de versiones; git local está bien para eso. Los repositorios remotos son para respaldo y colaboración.
Thilo
3
Tenga en cuenta que puede crear un repositorio git remoto en muchos servidores web como webfaction vs heroku. Es un poco más difícil configurar ese github, pero más barato para los grandes equipos.
Adrian Lopez
1
Consulte esta comparación para saber más sobre los servicios de alojamiento Git. git-tower.com/blog/git-hosting-services-compared
Junaid
Creo que el uso de las palabras "herramienta" y "servicio" es ambiguo para las personas que no están familiarizadas con el problema (es decir, las personas que buscan en Google esta pregunta). Quizás "Git es una tecnología para administrar el código fuente, mientras que GitHub es uno de los muchos productos que proporcionan git como un servicio para el código que aloja con ellos".
Rashad Saleh el
68

En la analogía SVN, Git reemplaza SVN, mientras que GitHub reemplaza SourceForge: P

Si este proyecto tuyo es nuevo, aún puedes comprometerte con tu Git local, luego puedes empujar a GitHub más adelante. Deberá agregar su repositorio de GitHub como un 'repositorio remoto' en su configuración de Git.

Parecen tener algo para los usuarios de Eclipse: http://eclipse.github.com/

De lo contrario, si eres nuevo en Git: http://git-scm.com/book

bakkal
fuente
¿Cuáles son las alternativas al uso de un GITHUB en línea?
variable
@variable ¿Quiere decir algo como un repositorio Git local o un servidor Git autohospedado como GitLab?
bakkal
65

¿Qué es Git ?

"Git es un sistema de control de versiones distribuido libre y de código abierto diseñado para manejar todo, desde proyectos pequeños hasta muy grandes, con velocidad y eficiencia"

Git es un sistema distribuido de control de versiones de igual a igual. Cada nodo en la red es un par, almacena depósitos completos que también pueden actuar como copias de seguridad distribuidas de múltiples nodos. No existe un concepto específico de servidor central, aunque los nodos pueden estar sin cabeza o "desnudos", asumiendo un papel similar al servidor central en los sistemas de control de versiones centralizados.

¿Qué es GitHub ?

"GitHub es un servicio de alojamiento de repositorio de Git basado en la web , que ofrece todas las funciones de control de revisión distribuido y gestión de código fuente (SCM) de Git, además de agregar sus propias características".

Github proporciona control de acceso y varias características de colaboración, como wikis, gestión de tareas y seguimiento de errores y solicitudes de características para cada proyecto.

No necesita GitHub para usar Git.

GitHub (y cualquier otro sistema local, remoto o alojado) pueden ser pares en los mismos repositorios versionados distribuidos dentro de un solo proyecto.

Github te permite:

  • Comparte tus repositorios con otros.
  • Acceda a los repositorios de otros usuarios.
  • Almacene copias remotas de sus repositorios (servidores github) como copia de seguridad de sus copias locales.
BugShotGG
fuente
dime por qué git se llama distribuido? solo porque el cambio de la tienda git está configurado en la PC local? por favor aclare el significado de esta palabra distribuida porque soy nuevo en git. gracias
Mou
1
¿Necesitas Git para usar GitHub?
user3187724
25

Git: la herramienta de control de versiones sobre la cual GitHub se basa.

GitHub: nuestra empresa y el nombre de nuestro software. Creamos software y sitios web para ayudarlo a interactuar con los repositorios de Git de una manera agradable.

GitHub.com: el sitio web en el que inicia sesión para ver los repositorios en línea.

Escritorio GitHub: una aplicación que puede instalar en su computadora para ayudarlo a sincronizar el código local con GitHub.com.

fuente: https://guides.github.com/introduction/getting-your-project-on-github/

usuario2340356
fuente
15

Hay una serie de diferencias obvias entre Git y GitHub .

Git en sí está realmente enfocado en las tareas esenciales del control de versiones. Mantiene un historial de confirmación, le permite revertir los cambios a través de reiniciar y revertir comandos, y le permite compartir código con otros desarrolladores a través de comandos push y pull. Creo que esas son las características esenciales que todo desarrollador quiere de una herramienta DVCS.

Tabla de comparación de Git versus GitHub

Sin alcance arrastrarse con Git

Pero una cosa sobre Git es que en realidad solo se enfoca con láser en el control del código fuente y nada más. Eso es increíble, pero también significa que la herramienta carece de muchas características que las organizaciones desean. Por ejemplo, no hay funciones integradas de administración de usuarios para autenticar quién se conecta y confirma el código. La integración con cosas como Jira o Jenkins se deja a los desarrolladores para resolver a través de cosas como ganchos. Básicamente, hay una gran cantidad de lugares donde las características podrían integrarse. Ahí es donde entran en juego organizaciones como GitHub y GitLab.

Características adicionales de GitHub

El principal 'valor agregado' de GitHub es que proporciona una plataforma basada en la nube para Git. Eso en sí mismo es asombroso. Además de eso, GitHub también ofrece:

  • seguimiento de tareas simple
  • una aplicación de escritorio GitHub
  • edición de archivos en línea
  • reglas de protección de sucursales
  • características de solicitud de extracción
  • herramientas organizacionales
  • límites de interacción para hotheads
  • soporte de emoji !!! : octocat:: +1:

Entonces GitHub realmente agrega pulido y refinamiento a una herramienta DVCS ya popular.

Competidores de Git y GitHub

A veces, cuando se trata de diferenciar entre Git y GitHub, creo que es bueno ver contra quién compiten. Git compite en un avión con herramientas como Mercurial, Subversion y RTC, mientras que GitHub está más en el espacio SaaS compitiendo contra proveedores en la nube como GitLab y Atlassian's BitBucket.

No se requiere GitHub

Una cosa que siempre me gusta recordar a la gente es que no necesitas GitHub o GitLab o BitBucket para usar Git. ¿Git fue lanzado en 2005? GitHub no apareció en escena hasta 2007 o 2008, por lo que las grandes organizaciones estaban haciendo el control de versiones distribuidas con Git mucho antes de que aparecieran los proveedores de alojamiento en la nube. Entonces Git está bien solo. No necesita un servicio de alojamiento en la nube para ser efectivo. Pero al mismo tiempo, tener un proveedor de PaaS ciertamente no hace daño.

Trabajando con GitHub Desktop

Por cierto, ¿mencionó la falta de coincidencia entre los repositorios en su cuenta de GitHub y los repositorios que tiene localmente? Eso es comprensible. Hasta que se haya conectado y haya realizado una extracción o recuperación, el repositorio local de Git no conoce el repositorio remoto de GitHub. Dicho esto, GitHub proporciona una herramienta conocida como el escritorio de GitHub que le permite conectarse a GitHub desde un cliente de escritorio y cargar fácilmente repositorios locales de Git a GitHub, o llevar repositorios de GitHub a su máquina local.

Escritorio GitHub

La herramienta no me impresiona demasiado, ya que una vez que conoces a Git, estas cosas no son tan difíciles de hacer en el shell Bash, pero es una opción.

La pelea entre Git y GitHub

Cameron McKenzie
fuente
9

De manera simple, podemos ver a continuación la diferencia entre git y git hub y VSTS.

git : - Trate a git como un motor / tecnología para lograr el control de la versión de origen de nuestro proyecto. A diferencia de TFS (nuevamente un control de versión de fuente centralizado), git es tecnología de control de versión distribuida. Eso significa que, en realidad, no exige tener ningún servidor. A través de la tecnología git podemos hacer nuestra propia máquina local como repositorio de código fuente que no requiere tener un servidor centralizado siempre (a gran escala puede tener un servidor Microsoft para empujar y mantener nuestro código fuente del proyecto). Pero con el control de versión de tipo SVN y TFS, es obligatorio que un servidor esté asociado con él.

Por ejemplo, si soy un desarrollador independiente y reporto directamente a mi cliente y no hay ningún otro desarrollador involucrado, necesito mantener el control de versión de mi código para revertir (cualquier versión) y confirmar mis códigos y no lo hago. tengo presupuesto para obtener un servidor y no tengo tiempo para instalar y usar otro servidor en mi máquina como servidor TFS y cliente TFS. Entonces, la forma óptima es instalar git engine y usar mi máquina local como repositorio para el control de versiones por git.

GitHub : como dije anteriormente, git es una tecnología y se usa con algunos comandos / comandos de shell, es decir, git solo no tiene interfaz de usuario. GitHub es un producto o repositorio en línea que utiliza la tecnología git para su proceso y logra controles de versión junto con otras funcionalidades como seguimiento de errores, gestión de proyectos, gestión de tickets de soporte, etc. En otras palabras, Git Hub es un envoltorio basado en tecnología git con una interfaz de usuario y otras funcionalidades de otra firma de terceros, en realidad es un producto propiedad de alguien o algún grupo basado en tecnología git, donde git es de código abierto y no comercializable. producto.

VSTS : - VSTS es un producto de Microsoft para el repositorio en línea que mantiene el control de la versión de origen que puede tratarse como una alternativa a git hub. Desde que es de Microsoft, VSTS admite la tecnología git y TFS (control de versión de la base del equipo TFVC). Debido a que TFS es otro producto antiguo de Microsoft para lograr este control de versión. Gradualmente supongo que VSTS va a volcar gradualmente TFS ya que git es la tecnología prominente en esta área y es de código abierto.

Rinoy Ashokan
fuente
7

En inglés simple:

  1. Todos son control de fuente como todos sabemos.
  2. En una analogía, si Git es una computadora independiente, entonces GitHub es una red de computadoras conectadas por la web con campanas y silbatos.
  3. Entonces, a menos que abra una cuenta de GitHub y le diga específicamente a VSC o cualquier editor que use GitHub, verá su código fuente allí arriba; de lo contrario, solo estarán aquí, su máquina local.
Jeb50
fuente
0

Git- Git es un software de control de versiones que instala en su sistema local. Para un individuo que trabaja solo en un proyecto, Git demuestra ser un excelente software.

GitHub: como se mencionó anteriormente, Git es un sistema de control de versiones que rastrea los cambios de código, mientras que GitHub es un servicio de alojamiento de repositorio de control de versiones Git basado en la web. Proporciona todas las funcionalidades de control de versiones distribuidas y gestión de código fuente (SCM) de Git, al tiempo que lo completa con algunas de sus propias características.

Ankit Kumar Rajpoot
fuente
0

En pocas palabras, Git es un sistema de control de versiones que le permite administrar y realizar un seguimiento de su historial de código fuente. GitHub es un servicio de alojamiento basado en la nube que le permite administrar repositorios de Git. Si tiene proyectos de código abierto que usan Git, GitHub está diseñado para ayudarlo a administrarlos mejor.

Dennis
fuente
-3

Se requiere Github si desea colaborar entre desarrolladores. Si usted es un solo contribuyente, git es suficiente, asegúrese de hacer una copia de seguridad de su código de forma regular

El arreglador
fuente