Para resumir, clonar es para recuperar repositorios que no tiene, el pago es para cambiar entre ramas en un repositorio que ya tiene.
Nota: para aquellos que tienen antecedentes SVN / CVS y nuevos en Git, el equivalente de git cloneen SVN / CVS es checkout. La misma redacción de diferentes términos a menudo es confusa.
checkouttambién se puede utilizar para otras cosas, como sobrescribir un archivo en su copia de trabajo con una versión de ese archivo de otra revisión.
svick
8
y cuando usas "pull" vs "checkout"?
Kokodoko
27
pull es una búsqueda más combinación, el pago es una operación local que solo opera en datos que ya se han obtenido. Entonces no es como svn checkout en absoluto.
Agosto Lilleaas
13
Al venir del mundo SVN, también estaba confundido. Wow ... que desastre. En un mundo ideal, obligaría a todos los fabricantes de sistemas de control de fuente a utilizar los mismos términos.
Zoltán Tamási
55
Fork es un término github y no está relacionado con git en sí.
August Lilleaas
123
git clone es buscar sus repositorios desde el servidor remoto de git.
git checkout es verificar el estado deseado de su repositorio (como ramas o archivos particulares).
Por ejemplo, actualmente está en la rama maestra y desea cambiar a la rama de desarrollo.
git checkout develop_branch
Por ejemplo, desea pagar a un estado particular de un archivo particular
git checkout commit_point_A -- <filename>
Aquí hay una buena referencia para que aprendas Git, te permite entender mucho más fácilmente.
"desde el servidor remoto de git": no es necesario que el servidor sea remoto. git cloneTambién funcionará con repositorios locales.
SET
1
¡Gracias por el enlace a una referencia visual de git!
David Pointer
@Kit Ho: El enlace está bien como referencia, pero no es de mucha ayuda para alguien con preguntas básicas sobre git como la persona anterior. Como dice el artículo en sí, "Una vez que sepa un poco sobre cómo funciona git, este sitio puede solidificar su comprensión"
SN
Las definiciones circulares no son tan útiles. La palabra "buscar" utilizada para describir el clon es útil y agrega significado, pero la frase "pagar es pagar ..." no agrega significado, ni ayuda a distinguir la diferencia entre las dos operaciones.
C Perkins
11
Una cosa a notar es la falta de cualquier "Copia" dentro de git. Esto se debe a que ya tiene una copia completa en su repositorio local: su repositorio local es uno clonede sus repositorios ascendentes elegidos. Por lo tanto, tiene efectivamente un personal checkoutde todo , sin poner algún 'bloqueo' en esos archivos en el repositorio de referencia.
Git proporciona los valores hash SHA1 como mecanismo para verificar que la copia que tiene de un archivo / árbol de directorios / commit / repo es exactamente la misma que la utilizada por cualquiera que pueda declarar cosas como "Master" dentro de la jerarquía de confianza. ¡Esto evita todos esos 'bloqueos' que causan que la mayoría de los sistemas SCM se ahoguen (con los problemas habituales de copias privadas, grandes fusiones y sin control o administración real del código fuente ;-)!
La pregunta no menciona los bloqueos y se debe suponer de forma predeterminada en estos días que una persona no está familiarizada con este concepto, por lo que estas diferencias con los VCS antiguos solo se deben explicar si se le pregunta explícitamente.
wRAR
6
Simplemente git checkout tiene 2 usos
Cambiar entre sucursales locales existentes como git checkout <existing_local_branch_name>
Cree una nueva rama desde la rama actual usando la bandera -b. Suponga que si está en la rama maestra git checkout -b <new_feature_branch_name>, creará una nueva rama con el contenido de la rama maestra y cambiará a la rama recién creada
Respuestas:
La página del manual para el pago: http://git-scm.com/docs/git-checkout
La página del manual para clonar: http://git-scm.com/docs/git-clone
Para resumir, clonar es para recuperar repositorios que no tiene, el pago es para cambiar entre ramas en un repositorio que ya tiene.
Nota: para aquellos que tienen antecedentes SVN / CVS y nuevos en Git, el equivalente de
git clone
en SVN / CVS escheckout
. La misma redacción de diferentes términos a menudo es confusa.fuente
checkout
también se puede utilizar para otras cosas, como sobrescribir un archivo en su copia de trabajo con una versión de ese archivo de otra revisión.git clone es buscar sus repositorios desde el servidor remoto de git.
git checkout es verificar el estado deseado de su repositorio (como ramas o archivos particulares).
Por ejemplo, actualmente está en la rama maestra y desea cambiar a la rama de desarrollo.
Por ejemplo, desea pagar a un estado particular de un archivo particular
Aquí hay una buena referencia para que aprendas Git, te permite entender mucho más fácilmente.
fuente
git clone
También funcionará con repositorios locales.Una cosa a notar es la falta de cualquier "Copia" dentro de git. Esto se debe a que ya tiene una copia completa en su repositorio local: su repositorio local es uno
clone
de sus repositorios ascendentes elegidos. Por lo tanto, tiene efectivamente un personalcheckout
de todo , sin poner algún 'bloqueo' en esos archivos en el repositorio de referencia.Git proporciona los valores hash SHA1 como mecanismo para verificar que la copia que tiene de un archivo / árbol de directorios / commit / repo es exactamente la misma que la utilizada por cualquiera que pueda declarar cosas como "Master" dentro de la jerarquía de confianza. ¡Esto evita todos esos 'bloqueos' que causan que la mayoría de los sistemas SCM se ahoguen (con los problemas habituales de copias privadas, grandes fusiones y sin control o administración real del código fuente ;-)!
fuente
Simplemente git checkout tiene 2 usos
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
, creará una nueva rama con el contenido de la rama maestra y cambiará a la rama recién creadaPuedes encontrar más opciones en el sitio oficial
fuente
-b
opción es increíble, que crea una nueva sucursal local y la comprueba al mismo tiempo en un solo comando. ¡Me encantó!checkout
Se puede usar para muchos casos:1er caso : cambiar de rama en el repositorio local Por ejemplo:
git checkout exists_branch_to_switch
También puede crear una nueva rama y cambiar a través de este caso con
-b
git checkout -b new_branch_to_switch
2do caso : restaurar archivo desde x rev
git checkout rev file_to_restore
...fuente