git adicionar ramificação remota

139

Quero adicionar um controle remoto e um ramo desse controle remoto.

Eu fiz git remote add <newname> <url>, então eu fiz, git fetch --allmas git branch -anão está mostrando nenhum ramo do controle remoto. Meu .git / config está mostrando o controle remoto adicionado.

Alguém por favor pode me ajudar?

Rai
fonte
2
O que acontece quando você git fetch remote branch:branch && git co branch?
Samy Dindane

Respostas:

280

Não tenho certeza se você está tentando criar uma filial remota a partir de uma filial local ou vice-versa, por isso descrevi os dois cenários e forneci informações sobre a mesclagem das ramificações remota e local.

Criando um controle remoto chamado "github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Listar todas as ramificações remotas:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Crie uma nova ramificação local (teste) a partir da ramificação remota de um github (pu):

git branch test github/pu
git checkout test

Mesclar alterações da ramificação remota do github (pu) com a ramificação local (teste):

git fetch github
git checkout test
git merge github/pu

Atualize a filial remota do github (pu) a partir de uma filial local (teste):

git push github test:pu

Criar uma nova ramificação em um controle remoto usa a mesma sintaxe que a atualização de uma ramificação remota. Por exemplo, crie uma nova ramificação remota (beta) no github a partir da ramificação local (teste):

git push github test:beta

Exclua a filial remota (pu) do github:

git push github :pu
David M. Syzdek
fonte
Existe uma maneira de criar a ramificação local sem especificar o nome, de forma que ela aceite automaticamente o mesmo nome que a ramificação remota?
precisa saber é o seguinte
@Dubslow git checkout --track github/pu, veja aqui
Hinrich
25

Você pode verificar se a configuração remota está correta e se possui as permissões apropriadas com

git ls-remote origin

se você chamou sua "origem" remota. Se você receber um erro, provavelmente sua segurança não está configurada corretamente, como carregar sua chave pública no github, por exemplo. Se tudo estiver configurado corretamente, você obterá uma lista das referências remotas. Agora

git fetch origin

funcionará com exceção de outros problemas, como um cabo de rede desconectado.

Depois de fazer isso, você poderá obter qualquer ramo que desejar, com o comando acima listado em

git checkout some-branch

isso criará uma filial local com o mesmo nome que a filial remota e fará check-out.

Adam Dymitruk
fonte
6

Testei o que @Samy Dindane sugeriu no comentário sobre o OP.

Eu acredito que funciona, tente

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Aqui está um exemplo de um repositório remoto fictício chamado foocom uma ramificação chamada baronde eu crio uma ramificação local que barrastreia o controle remoto:

git fetch foo bar:bar
git checkout bar
Jason
fonte
5

Aqui está o processo completo para criar um repositório local e enviar as alterações para uma nova filial remota

  1. Criando repositório local: -

    Inicialmente, o usuário pode ter criado o repositório git local.

    $ git init : - Isso tornará a pasta local como repositório Git,

  2. Vincule a filial remota : -

    Agora, o desafio é associar o repositório git local à ramificação principal remota .

    $ git remote add RepoName RepoURL

    uso: git remote add []

  3. Teste o controle remoto

    $ git remote show ---> Exibir o nome do controle remoto

    $ git remote -v ---> Exibir as ramificações remotas

  4. Agora pressione para o controle remoto

    $git add . ----> Adicione todos os arquivos e pastas como git staged '

    $git commit -m "Your Commit Message" - - -> Confirme a mensagem

    $git push - - - -> Envie as alterações para o upstream

Pavan
fonte
Estas são apenas as instruções para o caso geral de usar git. Não vejo nada nesta resposta específico para a pergunta que está sendo feita.
Hack-R
2

Se a ramificação remota já existir, você poderá (provavelmente) se safar ..

git checkout branch_name

e o git será configurado automaticamente para rastrear a ramificação remota com o mesmo nome na origem.

Sam Murphy
fonte