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?


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

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.


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

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


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.

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.