Comprender los conceptos básicos de Git y GitHub [cerrado]

201

No entiendo completamente el propósito de usar Git o Github; Sé que ayuda hacer un seguimiento de sus cambios y es útil para las personas que colaboran con otras personas, pero no colaboro con nadie, así que no sé si esto sería útil para mí.

Normalmente trabajo como diseñador / desarrollador web, pero nunca tengo que colaborar. Sé que en Git tienes crear, empujar, confirmar, crear ramas, etc. para cada repositorio pero ...

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

  2. ¿Git está guardando todos los repositorios localmente (en la máquina del usuario) y en GitHub?

  3. ¿Se puede usar Git sin GitHub? En caso afirmativo, ¿cuál sería el beneficio de usar GitHub?

  4. ¿Cómo se compara Git con un sistema de respaldo como Time Machine?

  5. ¿Es este un proceso manual, en otras palabras, si no se compromete, no tendrá una nueva versión de los cambios realizados?

  6. Si no estás colaborando y ya estás usando un sistema de respaldo, ¿por qué usarías Git?

fs_tigre
fuente
quizás ayude a alguien a comprender las diferencias: pedrorijo.com/blog/git-init
pedrorijo91

Respuestas:

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

    Git es un sistema de control de versiones; piense en ello como una serie de instantáneas (commits) de su código. Verá una ruta de acceso a estas instantáneas, en el orden en que se crearon. Puede hacer ramas para experimentar y volver a las instantáneas que tomó.

    GitHub, es una página web en la que puede publicar sus repositorios de Git y colaborar con otras personas.

  2. ¿Git está guardando todos los repositorios localmente (en la máquina del usuario) y en GitHub?

    No, es solo local. Puede decidir impulsar (publicar) algunas ramas en GitHub.

  3. ¿Se puede usar Git sin GitHub? En caso afirmativo, ¿cuál sería el beneficio de usar GitHub?

    Sí, Git se ejecuta localmente si no usa GitHub. Una alternativa al uso de GitHub podría ser ejecutar Git en archivos alojados en Dropbox, pero GitHub es un servicio más optimizado ya que se creó especialmente para Git.

  4. ¿Cómo se compara Git con un sistema de respaldo como Time Machine?

    Es una cosa diferente, Git le permite realizar un seguimiento de los cambios y su proceso de desarrollo. Si usa Git con GitHub, se convierte efectivamente en una copia de seguridad. Sin embargo, por lo general, no presionaría todo el tiempo a GitHub, en cuyo punto no tendrá una copia de seguridad completa si las cosas salen mal. Yo uso git en una carpeta que está sincronizada con Dropbox.

  5. ¿Es este un proceso manual, en otras palabras, si no se compromete, no tendrá una nueva versión de los cambios realizados?

    Sí, comprometerse y empujar son manuales.

  6. Si no estás colaborando y ya estás usando un sistema de respaldo, ¿por qué usarías Git?

    • Si encuentra un error entre confirmaciones, puede usar el comando git diffpara ver las diferencias entre el código actual y la última confirmación de trabajo, lo que le ayuda a localizar su error.

    • También puede volver a la última confirmación de trabajo.

    • Si desea probar un cambio, pero no está seguro de que funcionará. Crea una rama para probar el cambio de código. Si funciona bien, se fusiona con la rama principal. Si no es así, simplemente tira la rama y regresa a la rama principal.

    • Hiciste alguna depuración. Antes de comprometerse, siempre mire los cambios desde la última confirmación. Verá su declaración de impresión de depuración que olvidó eliminar.

Asegúrese de consultar gitimmersion.com .

Davoud Taghawi-Nejad
fuente
55
La sección uno en el último párrafo es realmente un buen punto. También pagar git intersectpara este propósito.
2
@ H2CO3 ¿Quieres decir git bisect?
Simon Whitaker
1
@SimonWhitaker Sí, eso es un error tipográfico.
47
  1. ¿Cuál es la diferencia entre Git y GitHub?

    Linus Torvalds te mataría por esto. Git es el nombre del programa administrador de versiones que escribió. GitHub es un sitio web en el que hay repositorios de código fuente manejables por Git. Por lo tanto, GitHub no tiene ninguna relación con la herramienta Git original.

  2. ¿Git está guardando todos los repositorios localmente (en la máquina del usuario) y en GitHub?

    Si confirma cambios, se almacena localmente. Luego, si empuja los commits, también los almacena de forma remota.

  3. ¿Se puede usar Git sin GitHub? En caso afirmativo, ¿cuál sería el beneficio de usar GitHub?

    Puede hacerlo, pero estoy seguro de que no desea configurar manualmente un servidor git para usted. Beneficios de GitHub? Bueno, fácil de usar, mucha gente lo sabe, por lo que otros pueden encontrar su código y seguirlo / bifurcarlo para hacer mejoras también.

  4. ¿Cómo se compara Git con un sistema de respaldo como Time Machine?

    Git está específicamente diseñado y optimizado para el código fuente.

  5. ¿Es este un proceso manual, en otras palabras, si no se compromete, no tendrá una nueva versión de los cambios realizados?

    Exactamente.

  6. Si no estás colaborando y ya estás usando un sistema de respaldo, ¿por qué usarías Git?

    Ver # 4.

svick
fuente
55
En realidad, puedes usar git completamente local. La única razón por la que usarías github es publicar tu código fuente. Por ejemplo para la colaboración. Si no desea hacerlo, no necesita un servidor git.
Davoud Taghawi-Nejad
@ DavoudTaghawi-Nejad sí, pero estoy seguro de que OP se refería a 'sin Github' como 'no específicamente con GitHub'. También creo que es obvio desde el # 2 que puedes usar git solo localmente.
44
@ DavoudTaghawi-Nejad Uso github como respaldo, no para colaboración. Si hay un código de incendio / etc. es seguro.
Thufir
¿Qué es la función de seguimiento y bifurcación de Github?
Mou
29
  1. ¿Cuál es la diferencia entre Git y GitHub?

    Git es un sistema de control de versiones distribuido. Por lo general, se ejecuta en la línea de comando de su máquina local. Realiza un seguimiento de sus archivos y modificaciones a esos archivos en un "repositorio" (o "repositorio"), pero solo cuando se lo indique. (En otras palabras, usted decide qué archivos rastrear y cuándo tomar una "instantánea" de cualquier modificación).

    Por el contrario, GitHub es un sitio web que le permite publicar sus repositorios de Git en línea, lo que puede ser útil por muchas razones (ver # 3).

  2. ¿Git está guardando todos los repositorios localmente (en la máquina del usuario) y en GitHub?

    Git se conoce como un sistema de control de versiones "distribuido" (en lugar de "centralizado") porque puede ejecutarlo localmente y desconectado de Internet, y luego "enviar" sus cambios a un sistema remoto (como GitHub) cuando lo desee. Por lo tanto, los cambios de repositorio solo aparecen en GitHub cuando le dice manualmente a Git que empuje esos cambios.

  3. ¿Se puede usar Git sin GitHub? En caso afirmativo, ¿cuál sería el beneficio de usar GitHub?

    Sí, puedes usar Git sin GitHub. Git es el programa "caballo de batalla" que realmente rastrea tus cambios, mientras que GitHub simplemente aloja tus repositorios (y proporciona una funcionalidad adicional que no está disponible en Git). Estos son algunos de los beneficios de usar GitHub:

    • Proporciona una copia de seguridad de sus archivos.
    • Le brinda una interfaz visual para navegar por sus repositorios.
    • Le brinda a otras personas una forma de navegar por sus repositorios.
    • Facilita la colaboración de repositorio (por ejemplo, varias personas que contribuyen al mismo proyecto).
    • Proporciona un sistema de seguimiento de problemas ligero.
  4. ¿Cómo se compara Git con un sistema de respaldo como Time Machine?

    Git hace una copia de seguridad de sus archivos, aunque le da un control mucho más granular que un sistema de copia de seguridad tradicional sobre qué y cuándo hacer una copia de seguridad. Específicamente, usted "confirma" cada vez que desea tomar una instantánea de los cambios, y esa confirmación incluye tanto una descripción de sus cambios como los detalles línea por línea de esos cambios. Esto es óptimo para el código fuente porque puede ver fácilmente el historial de cambios para cualquier archivo dado a nivel de línea por línea.

  5. ¿Es este un proceso manual, en otras palabras, si no se compromete, no tendrá una nueva versión de los cambios realizados?

    Sí, este es un proceso manual.

  6. Si no estás colaborando y ya estás usando un sistema de respaldo, ¿por qué usarías Git?

    • Git emplea un poderoso sistema de ramificación que le permite trabajar en múltiples líneas de desarrollo independientes simultáneamente y luego fusionar esas ramas según sea necesario.
    • Git le permite ver las diferencias línea por línea entre las diferentes versiones de sus archivos, lo que facilita la solución de problemas.
    • Git te obliga a describir cada uno de tus commits, lo que hace que sea mucho más fácil rastrear una versión previa específica de un archivo determinado (y potencialmente volver a esa versión anterior).
    • Si alguna vez necesita ayuda con su código, tenerlo rastreado por Git y alojado en GitHub hace que sea mucho más fácil para otra persona ver su código.

Para comenzar a usar Git, recomiendo el libro en línea Pro Git y GitRef como una guía práctica de referencia. Para comenzar con GitHub, me gusta el Bootcamp de GitHub y sus Guías de GitHub . Finalmente, creé una serie de videos cortos para presentar Git y GitHub a los principiantes.

Kevin Markham
fuente