"origem" é o nome do repositório remoto no qual você deseja publicar e confirma. Por convenção, o repositório remoto padrão é chamado "origem", mas você pode trabalhar com vários controles remotos (com nomes diferentes) ao mesmo tempo. Mais informações aqui (por exemplo): gitref.org/remotes
Faça o checkout do arquivo .git \ config, que contém os mapeamentos de aliases para URLs, a pasta .git está oculta por padrão.
Abhijeet Patel
Respostas:
569
originé um alias no seu sistema para um repositório remoto específico. Na verdade, não é uma propriedade desse repositório.
Fazendo
git push origin branchname
você está dizendo para enviar para o originrepositório. Não há necessidade de nomear o repositório remoto origin: na verdade, o mesmo repositório pode ter um alias diferente para outro desenvolvedor.
Os controles remotos são simplesmente um alias que armazena a URL dos repositórios. Você pode ver qual URL pertence a cada controle remoto usando
git remote -v
No pushcomando, você pode usar controles remotos ou simplesmente usar um URL diretamente. Um exemplo que usa a URL:
Um único controle remoto pode ser um alias para vários outros controles remotos? E se eu quisesse que um controle remoto passasse para vários outros controles remotos? Por exemplo, enviar para um repositório primário e enviar para um repositório de backup? Seria algo razoável querer em algumas situações? EDIT: Existem várias soluções aqui .
Yankee
1
E se eu omitir a palavra-chave "origem"? Quando dizemos "git push", ele não enviará todas as confirmações para o repositório remoto? Adicionar a palavra-chave "origem" parece redundante.
Mugen
@Mugen Nos documentos, git pushvocê pode ver que ele primeiro verifica a configuração desse repositório (com a qual você pode verificar git config --list) uma chave chamada branch.<branchname>.remote. Se isso não for definido, "o padrão é de origem" - git-scm.com/docs/git-push
Kenmore
157
originnão é o nome do repositório remoto. É um alias local definido como uma chave no lugar da URL do repositório remoto.
Isso evita que o usuário digite toda a URL remota ao solicitar um push.
Esse nome é definido por padrão e por convenção do Git ao clonar de um controle remoto pela primeira vez.
Esse nome alternativo não é codificado e pode ser alterado usando o seguinte prompt de comando:
E se eu omitir a palavra-chave "origem"? Quando dizemos "git push", ele não enviará todas as confirmações para o repositório remoto? Adicionar a palavra-chave "origem" parece redundante.
Mugen
74
O Git tem o conceito de "controles remotos", que são simplesmente URLs para outras cópias do seu repositório. Quando você clona outro repositório, o Git cria automaticamente um controle remoto chamado "origem" e aponta para ele.
Você pode ver mais informações sobre o controle remoto digitando git remote show origin.
Os comandos git são muito confusos para iniciantes. Eu acho que tem a ver com a história deste sistema de controle de versão. Então, pergunta: em vez de git remote show origin, por que não simplesmente git show origin? Deve haver uma razão, o que é isso? Obrigado.
Stack0verflow
5
@ Stack0verflow: provavelmente é melhor perguntar como uma nova pergunta para que as pessoas possam fazer a pesquisa, se você estiver curioso. 'show git' já é um outro comando que mostra uma consolidação, e tecnicamente nada iria impedi-lo ter uma filial chamada 'origem', além de ter uma origem remota chamada ...
Jason Malinowski
44
originé o alias padrão para a URL do seu repositório remoto.
A partir de então, o Git sabe que "origem" aponta para esse repositório específico (neste caso, um repositório GitHub). Você poderia chamá-lo de "github" ou "repo" ou o que quisesse.
Quando você clona um repositório git clone, ele cria automaticamente uma conexão remota chamada originapontando para o repositório clonado. Isso é útil para desenvolvedores que criam uma cópia local de um repositório central, pois fornece uma maneira fácil de obter alterações upstream ou publicar confirmações locais. Esse comportamento também é o motivo pelo qual a maioria dos projetos baseados em Git chama sua origem de repositório central.
No Git, "origem" é 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, portanto, facilita muito a referência.
No Git, "origem" é 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, portanto, facilita muito a referência.
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 intocada, você pode renomeá-la perfeitamente sem perder nenhuma funcionalidade.
No exemplo a seguir, o parâmetro da URL para o comando "clone" se torna a "origem" do repositório local clonado:
Ao copiar conteúdo escrito por outras pessoas, você deve deixar claro que está fazendo isso e sempre deve incluir um link para a fonte. Caso contrário, é plágio e é uma razão para excluir a resposta. Além disso, sua resposta já havia sido postada .
Fabio diz Restabelecer Monica
0
As outras respostas dizem que originé um alias para o URL de um repositório remoto que não é totalmente exato. Note-se que um endereço que começa com httpé um URL, enquanto um que começa com git@é um URI ou um Universal Resource Identifier.
Todos os URLs são URIs, mas nem todos os URIs são URLs.
Em resumo, quando você digita, git remote add origin <URI>está dizendo ao git local que, sempre que usar a palavra, originvocê realmente quer dizer o URI que você especificou. Pense nisso como uma variável que possui um valor.
E, assim como uma variável, você pode nomeá-lo o que quiser (por exemplo. github, heroku, destination, Etc).
Respostas:
origin
é um alias no seu sistema para um repositório remoto específico. Na verdade, não é uma propriedade desse repositório.Fazendo
você está dizendo para enviar para o
origin
repositório. Não há necessidade de nomear o repositório remotoorigin
: na verdade, o mesmo repositório pode ter um alias diferente para outro desenvolvedor.Os controles remotos são simplesmente um alias que armazena a URL dos repositórios. Você pode ver qual URL pertence a cada controle remoto usando
No
push
comando, você pode usar controles remotos ou simplesmente usar um URL diretamente. Um exemplo que usa a URL:fonte
git push
você pode ver que ele primeiro verifica a configuração desse repositório (com a qual você pode verificargit config --list
) uma chave chamadabranch.<branchname>.remote
. Se isso não for definido, "o padrão é de origem" - git-scm.com/docs/git-pushorigin
não é o nome do repositório remoto. É um alias local definido como uma chave no lugar da URL do repositório remoto.Isso evita que o usuário digite toda a URL remota ao solicitar um push.
Esse nome é definido por padrão e por convenção do Git ao clonar de um controle remoto pela primeira vez.
Esse nome alternativo não é codificado e pode ser alterado usando o seguinte prompt de comando:
Veja http://git-scm.com/docs/git-remote para mais esclarecimentos.
fonte
O Git tem o conceito de "controles remotos", que são simplesmente URLs para outras cópias do seu repositório. Quando você clona outro repositório, o Git cria automaticamente um controle remoto chamado "origem" e aponta para ele.
Você pode ver mais informações sobre o controle remoto digitando
git remote show origin
.fonte
git remote show origin
, por que não simplesmentegit show origin
? Deve haver uma razão, o que é isso? Obrigado.origin
é o alias padrão para a URL do seu repositório remoto.fonte
Simples! "origem" é exatamente o que você apelidou de seu repositório remoto quando você executou um comando como este:
A partir de então, o Git sabe que "origem" aponta para esse repositório específico (neste caso, um repositório GitHub). Você poderia chamá-lo de "github" ou "repo" ou o que quisesse.
fonte
Também fiquei confuso com isso, e abaixo está o que aprendi.
Quando você clona um repositório, por exemplo, no GitHub:
origin
é o alias da URL da qual você clonou o repositório. Observe que você pode alterar esse alias.Há uma
master
ramificação no repositório remoto (alias deorigin
). Há também outromaster
ramo criado localmente.Informações adicionais podem ser encontradas nesta pergunta do SO: Ramificação do Git: mestre vs. origem / mestre vs. controles remotos / origem / mestre
fonte
Quando você clona um repositório
git clone
, ele cria automaticamente uma conexão remota chamadaorigin
apontando para o repositório clonado. Isso é útil para desenvolvedores que criam uma cópia local de um repositório central, pois fornece uma maneira fácil de obter alterações upstream ou publicar confirmações locais. Esse comportamento também é o motivo pelo qual a maioria dos projetos baseados em Git chama sua origem de repositório central.fonte
A melhor resposta aqui:
https://www.git-tower.com/learn/git/glossary/origin
fonte
Em https://www.git-tower.com/learn/git/glossary/origin :
fonte
As outras respostas dizem que
origin
é um alias para o URL de um repositório remoto que não é totalmente exato. Note-se que um endereço que começa comhttp
é um URL, enquanto um que começa comgit@
é um URI ou um Universal Resource Identifier.Todos os URLs são URIs, mas nem todos os URIs são URLs.
Em resumo, quando você digita,
git remote add origin <URI>
está dizendo ao git local que, sempre que usar a palavra,origin
você realmente quer dizer o URI que você especificou. Pense nisso como uma variável que possui um valor.E, assim como uma variável, você pode nomeá-lo o que quiser (por exemplo.
github
,heroku
,destination
, Etc).fonte
remoto (alias do URL do repositório) → origem (alias upstream) → mestre (alias da ramificação);
remote
, Nível igualworking directory
,index
,repository
,origin
, mapa da ramificação do repositório local para ramificação do repositório remotofonte