2011-07-07 10 views
9

bien, así que me dieron más allá de la tutorial introduction to git y sé cómo:Git - Dominar la terminología

  • crear un objeto .git local de la base de datos vacía
  • Añadir el contenido de todo el directorio de trabajo actual a que
  • Commit la adición (s)
  • Nombre una rama
  • Crear un repositorio remoto
  • Presione branches.

Pero al pasar por el proceso inicial de aprendizaje, encontré muchos términos nuevos. Siento que comprender el significado exacto de estos términos es crucial para no cometer errores irreversibles cuando se trabaja con un proyecto en vivo.

Me puede recomendar una buena fuente para metódicamente aprender el significado de los términos clave como origin, maestro, commit vs. push, árbitros, cabezas, clon frente a la salida, etc.?

+1

Cada (buen) libro/tutorial debe explicar estos términos ... –

Respuesta

4

Un término muy importante para aprender en un DVCS es aguas arriba:
Ver "Definition of “downstream” and “upstream”"

Teniendo en cuenta la diferencia de flujo de trabajo entre un CVCS (Centralized VCS) and a DVCS (Distributed VCS), es fundamental darse cuenta de que tienes tu repositorio frente a muchos " upstream "repos (desde el cual can fetch from).

La otra noción para tener una buena comprensión es "rebase vs. merge".

+0

Sí, solo me encontré con esto ahora y me preguntaba sobre la diferencia entre 'upstream' y' origin'. ¡Gracias! – WinWin

+0

@WinWin: upstream se refiere a un repositorio remoto. '' origin' 'es el nombre predeterminado dado a la referencia al repositorio remoto que acaba de clonar. Pero esto es solo una convención de nomenclatura y puedes nombrar tu repositorio de subida como quieras al clonarlo: 'git clone -o github' https://github.com/VonC/compileEverything clonaría mi repositorio de GitHub y se referiría a él como ' github '(lo que significa que tendría que' git push github master 'en lugar de' git push origin master '): en ese caso, me parece más expresivo nombrar el repositorio upstream' github '(y no' 'origin'' que es un poco genérico). – VonC

9

origin y master no tienen ningún significado especial para Git, son solo convenciones. origin es el repositorio remoto "principal" (aunque a menudo, tendrá un origin y un upstream; el primero es su clon, mientras que el upstream es un repositorio común del equipo). master es simplemente un nombre común para la rama principal. Dependiendo del proyecto, generalmente es la rama de desarrollo donde se fusionan las características beta y se introducen las correcciones de errores, aunque puede ser una rama de publicación cuyo desarrollo se produce en otro lugar.

Commit vs. push se explica en la pregunta a la que se enlazó. Solo recuerda que, si cambias de SVN a Git, "push es el nuevo commit" (para citar a un colega mío).

Realmente no necesita aprender los demás "metódicamente"; solo aprende haciendo. Hay demasiado que Git debe memorizar de un libro para la mayoría de los mortales. El software de seguimiento de versiones tiene el propósito específico de hacer que los errores sean reversibles; simplemente mantente alejado de --force, git reset y git rebase por el momento.

+0

Esta es una respuesta increíblemente útil. ¡Muchas gracias! (+1 por supuesto) – WinWin

+0

Sí, proporcioné algunos enlaces que explican algunos de los términos. Lo hice porque quería ejemplificar que no estoy solo al enfrentar este desafío cuando vengo de un entorno VC diferente y también como una referencia a otros que pueden enfrentar lo mismo después de mí. :) – WinWin

+0

@WinWin: He estado usando Git con éxito durante más de un año (principalmente desde la línea de comandos), pero solo recientemente aprendí a usar 'cherry-pick' y' rebase' correctamente.Debo admitir que todavía no sé exactamente qué son los jefes y los jefes, y nunca sentí la necesidad de buscarlos. –

Cuestiones relacionadas