Cuando ejecute:¿Qué es el "origen" en Git?
git push origin branchname
¿qué es exactamente origin
y por qué tengo que escribirla antes de que el nombre de la sucursal?
Cuando ejecute:¿Qué es el "origen" en Git?
git push origin branchname
¿qué es exactamente origin
y por qué tengo que escribirla antes de que el nombre de la sucursal?
origin
es un alias de en su sistema para un repositorio remoto en particular. En realidad, no es una propiedad de ese repositorio.
Haciendo
git push origin branchname
que estás diciendo a empujar al repositorio origin
. No es necesario indicar el repositorio remoto origin
: de hecho, el mismo repositorio podría tener un alias diferente para otro desarrollador.
Los mandos a distancia son simplemente un alias que almacenan la URL de los repositorios. Se puede ver lo que pertenece a cada URL remota utilizando
git remote -v
En el comando push
, puede utilizar los mandos a distancia o simplemente puede usar una URLdirectamente. Un ejemplo que utiliza la URL:
git push [email protected]:git/git.git master
Para aclarar (después de ver algunas de las otras respuestas); el nombre 'origen' es un alias * en su sistema * para un repositorio particular que existe en otro lugar. En realidad, no es una propiedad de ese repositorio. El mismo repositorio puede ser aliasado a 'origen' por un desarrollador y' flub' por otro. –
¿Puede un único control remoto ser un alias para otros controles remotos? ¿Qué pasa si quiero que un control remoto presione otros controles remotos? Por ejemplo, presione para un repositorio primario, y una inserción para un repositorio de respaldo. ¿Sería algo razonable querer en algunas situaciones? EDITAR: Hay [varias soluciones aquí] (https://stackoverflow.com/questions/849308/pull-push-from-multiple-remote-locations). – Yankee
Git tiene el concepto de "remotos", que son simplemente las direcciones URL a otros ejemplares de su repositorio. Cuando clonas otro repositorio, Git crea automáticamente un control remoto llamado "origen" y lo señala.
Puede ver más información sobre el control remoto escribiendo git remote show origin
.
Los comandos de git son muy confusos para los principiantes. Supongo que tiene que ver con el historial de este sistema de control de versiones. Entonces, pregunta: en lugar de 'git remote show origin', ¿por qué no simplemente' git show origin'? Debe haber una razón, ¿qué es? Gracias. – Stack0verflow
@ Stack0verflow: probablemente sea mejor preguntar esto como una nueva pregunta para que la gente pueda investigar si tiene curiosidad. 'git show' ya es otro comando que muestra una confirmación, y técnicamente nada le impediría tener una rama llamada 'origen' además de tener un origen llamado remoto ... –
origin
es el alias predeterminado a la URL de su repositorio remoto.
origin
es no el nombre del repositorio remoto. Es más bien un alias local establecido como una clave en lugar de la URL del repositorio remoto.
Evita que el usuario tenga que escribir toda la URL remota al momento de presionar.
Este nombre viene establecido por defecto y por convención por Git cuando se clona desde un control remoto por primera vez.
Este nombre de alias no está codificado y se puede cambiar utilizando siguiente línea de comandos:
git remote rename origin mynewalias
Tome un vistazo a http://git-scm.com/docs/git-remote más aclaraciones.
También estaba confundido por esto, y a continuación es lo que he aprendido.
Al clonar un repositorio, por ejemplo, de GitHub:
origin
es el alias de la URL desde la que ha clonado el repositorio.Tenga en cuenta que puede cambiar este alias.
Hay una rama master
en el repositorio remoto (con el alias de origin
). También hay otra rama master
creada localmente.
Más información se puede encontrar de esta cuestión de forma: Git branching: master vs. origin/master vs. remotes/origin/master
Al clonar un repositorio con git clone
, se crea automáticamente una conexión remota llamada origin
que señala de nuevo al repositorio clonado. Esto es útil para los desarrolladores que crean una copia local de un repositorio central, ya que proporciona una manera fácil de realizar cambios en la cadena ascendente o publicar confirmaciones locales. Este comportamiento también explica por qué la mayoría de los proyectos basados en Git llaman a su origen de repositorio central.
¡Simple! "Origen" es justo lo que apodado el repositorio remoto al ejecutar un comando como este:
git remote add origin [email protected]:USERNAME/REPOSITORY-NAME.git
A partir de entonces Git sabe que "origen" apunta a ese repositorio específico (en este caso un repositorio GitHub). Podrías haberlo llamado "github" o "repo" o lo que quisieras.
"origen" es el nombre del repositorio remoto en el que desea publicar sus confirmaciones. Por convención, el repositorio remoto predeterminado se llama "origen", pero puede trabajar con varios controles remotos (con diferentes nombres) al mismo tiempo. Más información aquí (por ejemplo): http://gitref.org/remotes/ –
Tenga en cuenta también que el origen es un repositorio "ascendente": vea http://stackoverflow.com/questions/2739376/definition-of-downstream-and -upstream/2749166 # 2749166 – VonC
Posible duplicado de [¿Cuál es el significado de 'origen' en 'git push origin master'] (https://stackoverflow.com/questions/5270760/whats-the-meaning-of-origin-in -git-push-origin-master) – nawfal