Eu sei, origem é um termo para o repositório remoto e master é o ramo lá.
Estou propositadamente omitindo o "contexto" aqui e espero que a resposta não dependa do contexto. Portanto, nas linhas de comando git, qual é a diferença entre origem / mestre e mestre de origem . Existe uma maneira não ambígua de entender quando usar origem / mestre e quando devo usar o mestre de origem ?
Respostas:
Na verdade, existem três coisas aqui:
origin master
duas coisas separadas eorigin/master
uma coisa. Três coisas no total.Dois ramos:
master
é uma filial localorigin/master
é uma ramificação remota (que é uma cópia local da ramificação chamada "master" no controle remoto chamado "origin")Um controle remoto:
origin
é um controle remotoExemplo: execute duas etapas
Como
origin/master
é um ramo, você pode mesclá-lo. Aqui está um exemplo em duas etapas:Etapa um, busque
master
no controle remotoorigin
. Amaster
ramificaçãoorigin
ativada será buscada e a cópia local será nomeadaorigin/master
.Então você
origin/master
entramaster
.Em seguida, você pode enviar suas novas alterações de
master
volta paraorigin
:Mais exemplos
Você pode buscar várias ramificações por nome ...
Você pode mesclar várias ramificações ...
fonte
git remote add home my-server:projects/my-project
adiciona um controle remoto chamado "casa". Você pode consultar a documentação: git-scm.com/docs/git-remoteorigin/master
é uma entidade (uma vez que não é uma ramificação física) representando o estado damaster
ramificação no controle remotoorigin
.origin master
é o ramomaster
no controle remotoorigin
.Então, temos os seguintes:
Exemplo (na filial local
master
):fonte
origin master
não é um ramo ... são de fato duas coisas separadas, "origem" (um controle remoto) e "mestre" (um ramo local).origin/master
é a ramificação principal remota. A filial local é apenas o mestre.origin/master
é omaster
ramo remotoNormalmente, depois de fazer um
git fetch origin
para trazer todas as alterações do servidor, você faria umgit rebase origin/master
para refazer as alterações e mover a ramificação para o índice mais recente. Aqui,origin/master
está se referindo à ramificação remota, porque você está basicamente dizendo ao GIT para refazer aorigin/master
ramificação na ramificação atual.Você usaria
origin master
ao empurrar, por exemplo.git push origin master
é simplesmente dizer ao GIT para enviar ao repositório remoto amaster
ramificação local .fonte
origin master
é dizer ao software para fazer algo com o que estiver no 'master' no repositório 'origin'.origin/master
é uma referência da mesma maneiraf3a4d5
ouHEAD
é.origin é um nome para git url remoto. Pode haver muito mais exemplo de controles remotos abaixo.
No que diz respeito à origem / mestre (por exemplo, bangalore / master), é um ponteiro para "master" confirmar no site de bangalore . Você vê isso no seu clone.
É possível que o bangalore remoto tenha avançado desde que você tenha "buscado" ou "puxado"
fonte
Dado o fato de poder alternar para
origin/master
(embora no estado desconectado) enquanto o cabo de rede está desconectado, deve ser uma representação local damaster
filial emorigin
.fonte