git - puxando de um ramo específico


197

Eu clonei um repositório git no meu servidor dev e depois mudei para a ramificação dev, mas agora não consigo fazer um pull git para atualizar a ramificação.

Como atualizo o código no servidor?

Respostas:


258

Veja a página de manual do git-pull :

git pull [options] [<repository> [<refspec>...]]

e na seção de exemplos:

Mesclar na ramificação atual a ramificação remota a seguir:

$ git pull origin next

Então eu imagino que você queira fazer algo como:

git pull origin dev

Para configurá-lo para que faça isso por padrão enquanto você estiver no ramo de desenvolvimento:

git branch --set-upstream-to dev origin/dev

6
"O --set-upstreamsinalizador foi descontinuado e será removido. Considere usar --trackou --set-upstream-to Branch devconfigurar para rastrear o dev remoto da ramificação da origem." Por exemplo. git branch --set-upstream-to origin/dev
Nagendra Rao

Edite isso para refletir a descontinuação de --set-upstream?
Scott Skiles

Pessoalmente, estou interessado no fluxo quando quero extrair um ramo específico da origem que ainda não foi buscado e colocar esses objetos em um ramo separado, para que o meu ramo atual não seja mesclado com o que estou puxando.
Yuriy Pozniak

43

Aqui está o que você precisa fazer. Primeiro, verifique se você está no ramo que não deseja puxar. Por exemplo, se você possui mestre e ramo de desenvolvimento, e está tentando puxar ramo de desenvolvimento, permaneça no ramo mestre.

git checkout master

Então,

git pull origin develop

5
Isso é confuso. Se eu quiser puxar um ramo "dev" remoto para um ramo "dev" local, acho que você precisa permanecer no ramo "dev" local e não em qualquer outro ramo.
Roman

2
Isso não busca o ramo de desenvolvimento remoto e o mescla com o mestre local?
Brad P.

2
Eu fiz git checkout develope git pull origin develope funcionou bem. Você precisaria fazer check-out outro ramo, se você quiser remover um ramo local ou remoto ( git branch -d developou git push origin --delete develop)
ChesuCR

muito confuso. Eu apenas fundiu o ramo Eu queria teste no mestre localmente :)
Fabian Bosler

Como @roman diz, é preciso estar no ramo local.
woter324 18/06

15

Geralmente é mais claro separar as duas ações git pull. A primeira coisa que faz é atualizar o branc de rastreamento local que corresponde à ramificação remota. Isso pode ser feito com git fetch. A segunda é que, em seguida, ela se funde nas alterações, as quais, é claro, podem ser feitas git merge, embora outras opções, como git rebaseocasionalmente úteis.


7

Exemplo de documentação do Laravel:

git pull https://github.com/laravel/docs.git 5.8

com base no formato do comando:

git pull origin <branch>

👍


5

Aqui estão as etapas para puxar um ramo específico ou qualquer ramo,

1.clone o master (é necessário fornecer nome de usuário e senha)

       git clone <url>

2. o comando acima clonará o repositório e você será o ramo principal agora

       git checkout <branch which is present in the remote repository(origin)>

3. O comando acima fará checkout no ramo que você deseja extrair e será configurado para rastrear automaticamente esse ramo

4.Se, por algum motivo, não funcionar assim, depois de fazer o check-out para essa ramificação no sistema local, basta executar o comando abaixo

       git pull origin <branch>

1

Você pode atualizar / puxar o ramo git, pode usar o comando abaixo

git pull origin <branch-name>

O comando acima terá uma atualização / pull de dar o nome do ramo

Se você deseja obter pull de outro ramo, precisará ir para esse ramo.

git checkout master

Do que

git pull origin development

Espero que funcione para você


0

git-pull - Busque e integre-se a outro repositório ou uma filial local

git pull [options] [<repository> [<refspec>...]]

Você pode consultar o documento oficial do git https://git-scm.com/docs/git-pull

Ex:

git pull origin dev


Qual é a sua resposta diferente das outras já postadas?
J08691

Sim, nada é o único documento oficial ( git-scm.com/docs/git-pull ) para que você possa explorar muito as opções.
Sesha

0

Se você deseja extrair de um ramo específico, tudo o que você precisa fazer é

git pull 'remote_name' 'branch_name'

NOTA: Certifique-se de confirmar seu código primeiro.

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.