¿Cuál es la diferencia entre hacer (después mkdir repo
y cd repo
):
git init
git remote add origin git://github.com/cmcculloh/repo.git
git fetch --all
git pull origin master
y
git clone git://github.com/cmcculloh/repo.git
Quiero decir, obviamente uno es más corto, pero aparte de eso, ¿básicamente están haciendo lo mismo?
git clone
es cómo obtener una copia local de un repositorio existente para trabajar. Por lo general, solo se usa una vez para un repositorio dado, a menos que desee tener varias copias de trabajo disponibles. (O desea obtener una copia limpia después de estropear su local ...)git pull
(ogit fetch
+git merge
) es cómo actualiza esa copia local con nuevos commits desde el repositorio remoto. Si está colaborando con otros, es un comando que ejecutará con frecuencia.Como muestra su primer ejemplo, es posible emular
git clone
con una variedad de otros comandos git, pero no es realmente el caso quegit pull
está haciendo "básicamente lo mismo" quegit clone
(o viceversa).fuente
En lenguaje laico podemos decir:
fuente
git clone
significa que está haciendo una copia del repositorio en su sistema.git fork
significa que está copiando el repositorio a su cuenta de Github.git pull
significa que está buscando el último repositorio modificado.git push
significa que está devolviendo el repositorio después de modificarlo.En términos simples:
git clone
se está descargando ygit pull
es refrescante.fuente
clon : copiando el repositorio del servidor remoto a su máquina local.
pull : obtenga nuevos cambios que otros han agregado a su máquina local.
Esta es la diferencia
Clone se usa generalmente para obtener copias remotas de repositorios.
Pull se usa para ver el código agregado de otros compañeros de equipo, si está trabajando en equipos.
fuente
git clone se usa para descargar exactamente lo que está funcionando actualmente en el repositorio del servidor remoto y guardarlo en la carpeta de su máquina donde se ubica ese proyecto. Principalmente se usa solo cuando vamos a cargar el proyecto por primera vez. Después de ese tirón es la mejor opción.
git pull es básicamente una operación (clonar (descargar) + fusionar) y se usa principalmente cuando trabajas en equipo. En otras palabras, cuando desee los cambios recientes en ese proyecto, puede tirar.
fuente
Señorita Clone: recibo una copia nueva al local.
Sr. Pull: Ya lo tengo localmente, solo lo actualizo.
Miss Clone: ¡Puedo hacer lo que haces! Eres solo mi subconjunto.
Sr. Pull: ¡Lo mismo!
Miss Clone: No, no creas. Esto es lo que hago:
Solo haces el n. ° 3, y luego te unes, lo que no necesito hacer (el mío es nuevo).
Sr. Pull: Smarty pants, no es gran cosa, ¡haré un "git init" primero! Entonces somos lo mismo. Además, tengo la capacidad adicional de 'fusión' en el repositorio existente. Lo que me convierte en el comando más utilizado en Git;)
Creadores de Git: sostengan sus caballos, Sr. Pull, si se usa --bare o --mirror con clon o init, su fusión no sucederá. Sigue siendo de solo lectura.
fuente
Hmm, ¿qué falta para ver la rama remota "4.2" cuando tiro, como hago cuando clono? Algo claramente no es idéntico.
vs
fuente
git clone URL ---> El proyecto o repositorio completo se descargará como un directorio separado. y no solo los cambios git pull URL ---> fetch + merge -> Solo buscará los cambios que se han realizado y no todo el proyecto
fuente
Si bien el
git fetch
comando obtendrá todos los cambios en el servidor que aún no tiene, no modificará su directorio de trabajo en absoluto. Simplemente obtendrá los datos por usted y le permitirá fusionarlos usted mismo. Sin embargo, hay un comando llamadogit pull
que es esencialmente ungit fetch
seguido inmediatamente por ungit merge
en la mayoría de los casos.Leer más: https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Pulling
fuente
Clon : creará una copia duplicada exacta de su proyecto de repositorio remoto en su máquina local.
Halar -: supongamos que dos o más de dos personas comparten el mismo repositorio. (Supongamos que el nombre de otra persona es Syam) (Un repositorio es un lugar donde su proyecto existe en Github) Entonces, si Syam hace algunos cambios en el mismo proyecto en su local y lo empuja al repositorio remoto Entonces, cualesquiera que sean los cambios que hizo Syam, esos cambios serán No se refleja en su local. Entonces, para reflejar esos nuevos cambios en su local, debe usar git pull. En general, usamos git pull para actualizar el proyecto.
Básicamente, usamos git clone solo una vez, mientras que usamos git pull muchas veces.
fuente