Qual é o significado de 'origin' em 'git push origin master'


94

Quando eu corro:

git push origin master

... qual é o significado de originneste contexto?


7
Veja no tutorial do Git - "Quando você está trabalhando em um grupo pequeno e unido, não é incomum interagir com o mesmo repositório repetidamente. Definindo uma abreviatura de repositório remoto, você pode tornar isso mais fácil". Se você não fizer isso, a origem será usada por padrão.
Sakisk,

1
Postagem relacionada - O que é “origem” no Git?
RBT

Respostas:


74

originé o nome padrão do repositório git remoto do qual você clonou. Ter um olhar para .git/refs/remotes/origin/*e .git/configdentro de suas fontes para ver como git sabe sobre ele.


7
Eu diria "clonou seu repositório de" e não "verificou suas fontes de" - a última é uma frase remanescente do VCS centralizado e pode ser um pouco enganoso para iniciantes em DVCS.
Cascabel

1
E o comando git remote add origin? Por que você adicionaria uma origem? stackoverflow.com/a/8248542/719689
AlxVallejo

5
git remote add originsignifica adicionar um repositório remoto denominado origin , que não tem nenhum significado técnico especial, é apenas um nome padrão amplamente usado para um repositório remoto original. Você pode usar foobar em vez de origem, se desejar.
skuro

1
@AlxVallejo que é freqüentemente usado quando você não clona desse repositório, mas em vez disso, você criou o repositório localmente e criou a origem em outro lugar como o repo remoto.
Matt

4
@KasunSiyambalapitiya esse é o nome do ramo. Com git push origin mastervocê diz ao git para enviar todos os commits no branch local atualmente verificado (ou seja, do seu sistema de arquivos) para o repositório remoto identificado pelo nome originem seu branch remoto nomeado master.
skuro

85

git tem um conceito de "remotos" - esses são como apelidos fáceis para um repositório, então você não precisa usar seu URL completo toda vez que quiser se referir a outro repositório.

originé apenas um controle remoto como qualquer outro, mas você o vê com muita frequência, pois quando clona um repositório pela primeira vez, git clonepor padrão, ele configura um controle remoto chamado originpara se referir à URL de onde você clonou.

Se você fizer git remote -visso, serão exibidos todos os controles remotos configurados em seu repositório local e as URLs a que se referem. (Você verá que é um pouco mais complexo do que eu disse acima, pois um controle remoto pode se referir a uma URL diferente para enviar e receber, mas você provavelmente não precisa se preocupar com isso. :))


E o comando git remote add origin? Por que você adicionaria uma origem? stackoverflow.com/a/8248542/719689
AlxVallejo

2
@AlxVallejo: Você mesmo pode adicionar o origincontrole remoto se inicializar um repositório, em vez de fazê-lo via git clone.
Mark Longair

@MarkLongair o que usamos masterno final do código
Kasun Siyambalapitiya

35

A origem é onde você obteve o código da origem .


2
Para mim, não é uma piada, mas uma regra mnemotécnica para lembrar o que significa origem. E um de que gosto, por
falar

Embora eu goste da piada do seu pai, não é necessariamente verdade. Posso criar um novo repo localmente e me comprometer com ele sem nenhum conhecimento de um controle remoto. Posteriormente, posso criar uma origem nomeada remota e enviar para ela todos os commits que fiz localmente. A origem não precisa ser a fonte original do repositório.
Rob Bell de

3

Isso seria de ajuda

https://www.git-tower.com/learn/git/glossary/origin

n Git, "origin" é um nome abreviado para o repositório remoto do qual um projeto foi originalmente clonado. Mais precisamente, ele é usado no lugar da URL do repositório original - e assim torna a referência muito mais fácil.

Observe que a origem não é de forma alguma um nome "mágico", mas apenas uma convenção padrão. Embora faça sentido deixar essa convenção intacta, você pode renomeá-la perfeitamente sem perder nenhuma funcionalidade.

No exemplo a seguir, o parâmetro de URL para o comando "clone" torna-se a "origem" do repositório local clonado:

git clone https://github.com/gittower/git-crash-course.git


2

origin é criado remotamente pelo próprio git quando você, para o primeiro clone, o repo aponta a URL a partir da qual você criou o clone. por exemplo: origin git@github.com: / PROJECT_U


0

"Origem" é o nome do repositório remoto onde você deseja publicar seus commits. Por convenção, o repositório remoto padrão é chamado de "origem", mas você pode trabalhar com vários controles remotos (com nomes diferentes) ao mesmo tempo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.