Uso o github há um período relativamente curto e sempre usei o cliente para realizar confirmações e solicitações. Decidi experimentá-lo a partir do git bash ontem e criei com êxito um novo repositório e arquivos confirmados.
Hoje fiz alterações no repositório de outro computador, confirmei as alterações e agora voltei para casa e executei um git pull
para atualizar minha versão local e recebo o seguinte:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
o único colaborador deste repositório sou eu e não há ramos (apenas um mestre). Estou no windows e executei o pull do git bash:
status git:
$ git status
# On branch master
nothing to commit, working directory clean
ramo git:
$ git branch
* master
O que estou fazendo errado?
git remote -v
? O que isso diz?git pull
.git pull --set-upstream-to=origin/master master
é possível. Veja minha resposta abaixoRespostas:
Você pode especificar qual ramificação deseja extrair:
Ou você pode configurá-lo para que seu ramo mestre local rastreie o ramo mestre do github como um upstream:
Esse rastreamento de ramificação é configurado automaticamente quando você clona um repositório (apenas para a ramificação padrão), mas se você adicionar um controle remoto a um repositório existente, precisará configurar o rastreamento por conta própria. Felizmente, os conselhos dados pelo git tornam muito fácil lembrar como fazê-lo.
fonte
git branch -u origin/master
, assumindo que você já fez o check-out do mestre. Caso contrário,git branch -u origin/master master
funcionará.--set-upstream-to=
sintaxe mais clara . (que é o substituto para--set-upstream
)fetch
será perdido. Daí a necessidade de configurá-lo novamente. :)Consulte: tag git checkout, git pull falha na ramificação
Se, como eu, você precisar fazer isso o tempo todo, poderá configurar um alias para fazê-lo automaticamente, adicionando o seguinte ao seu
.gitconfig
arquivo:Quando você vir a mensagem
There is no tracking information...
, execute:Obrigado a https://zarino.co.uk/post/git-set-upstream/
fonte
.gitconfig
em uma linha (pode ser modificado para configurações locais ou outras de acordo):git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
A resposta do ComputerDruid é ótima, mas não acho necessário configurar o upstream manualmente, a menos que você queira. Estou adicionando esta resposta porque as pessoas podem pensar que esse é um passo necessário.
Este erro desaparecerá se você especificar o controle remoto que deseja puxar como abaixo:
Observe que esse
origin
é o nome do controle remoto emaster
é o nome da ramificação.1) Como verificar o nome do controle remoto
2) Como ver quais ramificações disponíveis no repositório.
fonte
Eu sempre encontro essa mensagem exata porque crio uma ramificação local
git checkout -b <feature-branch-name>
sem antes criar a ramificação remota.Depois que todo o trabalho foi concluído e confirmado localmente, foi a correção
git push -u
que criou a ramificação remota, enviou todo o meu trabalho e a URL da solicitação de mesclagem.fonte
git push -u origin <my-feature-branch-name>
, a fim de criar a filial remota e empurrar o meu trabalhoEu estava tentando os exemplos acima e não conseguia sincronizá-los com uma ramificação (não mestre) que eu havia criado em um computador diferente. Como pano de fundo, criei esse repositório no computador A (git v 1.8) e, em seguida, clonei o repositório no computador B (git 2.14). Fiz todas as minhas alterações no comp B, mas quando tentei colocar as alterações no computador, a AI não conseguiu, obtendo o mesmo erro acima. Semelhante às soluções acima, eu tive que fazer:
ligeiramente diferente, mas espero que ajude alguém
fonte
tentar
espero que esta resposta ajude originalmente a ser respondida aqui https://stackoverflow.com/a/55015370/8253662
fonte
Com o Git 2.24, você não precisará fazer
Você será capaz de fazer:
Veja mais em " controle remoto padrão e ramificação usando a
-u
opção - funciona compush
mas nãopull
".fonte
1) git branch --set-upstream-to = origem /
<master_branch>
recurso /<your_current_branch>
2) git pull
fonte
$ git branch --set-upstream-to=heroku/master master
etrabalhou para mim!
fonte
O mesmo aconteceu comigo antes, quando criei um novo ramo git sem empurrá-lo para a origem.
Tente executar essas duas linhas primeiro:
Então:
Deve ficar bem agora!
fonte
Isso acontece porque a filial atual não tem rastreamento na filial no controle remoto. para que você possa fazer isso de duas maneiras.
fonte
git branch --set-upstream-para = origem / principal
fonte