tag - git remote add




Git buscar ramo remoto (17)

Às vezes, você é solicitado a não mexer no ramo principal e trabalhar apenas no ramo remoto (como me pediram). Então tudo que você precisa é o ramo remoto.

Então, para clonar o ramo remoto sozinho (sem o mestre), faça isso

git clone url --branch remote_branch_name

onde, remote_branch_name é o nome do ramo remoto

Por exemplo,

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git --branch v3.15

Isso fará com que você clone a ramificação remota em sua ramificação local com o nome da ramificação remota.

Agora, se você enviar seu código e enviá-lo, o código será enviado apenas para essa agência.

Meu colega e eu estamos trabalhando no mesmo repositório que o ramificamos em dois ramos, cada um tecnicamente para projetos diferentes, mas eles têm semelhanças, então às vezes queremos nos comprometer com o * master da filial.

No entanto, eu tenho o ramo. Minha pergunta é: como meu colega pode extrair esse ramo especificamente? Um git clone do repositório não parece criar os galhos localmente para ele, embora eu possa vê-los viver em desordem depois de um empurrão no meu fim.

Além disso, quando eu originalmente fiz o branch eu fiz -b checkout . Não tenho certeza se isso faz muita diferença?

iMac:test_solar dave$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master

git fetch origin discover
git checkout discover

Estes são os comandos que eu corri. Mas definitivamente não está funcionando. Eu quero ser capaz de verificar esse ramo e, em seguida, empurrar e confirmar apenas as alterações de ramos de vários colaboradores ou estações de trabalho.


A maneira mais fácil de fazer isso, pelo menos para mim:

git fetch origin <branchName>

Digamos que seu controle remoto seja [email protected] e você queira sua ramificação random_branch. O processo deve ser o seguinte:

  1. Primeiro, verifique a lista de seus controles remotos

    git remote -v

  2. Se você não tiver o controle remoto [email protected] na saída do comando acima, adicione-o

    git remote add xyz [email protected]

  3. Agora você pode buscar o conteúdo desse controle remoto

    git fetch xyz

  4. Agora, verifique o ramo desse controle remoto

    git checkout -b my_copy_random_branch xyz/random_branch

  5. Verifique a lista de ramificações por

    git branch -a

A ramificação local my_copy_random_branch estaria rastreando a ramificação random_branch do seu controle remoto.


Eu digitei

git checkout <branch_name>

e pegou

Branch <branch_name> set up to track remote branch <branch_name> from origin.
Switched to a new branch '<branch_name>'

O que me ajudou foi

1) Para visualizar todas as filiais remotas disponíveis (por exemplo, 'remote-branch-name')

git branch -r

2) Crie uma ramificação local usando o nome da ramificação remota

git fetch && git checkout 'remote-branch-name'

Os passos são os seguintes;

  1. git fetch origin ou git fetch --all , isso irá buscar todos os branches remotos para o seu local e então esta a segunda opção que você pode usar.

  2. git checkout --track origin/<The_remote_branch you want to switch over>

Em seguida, trabalhe neste ramo e você pode verificar se você está nesse ramo ou não, digitando

git branch

Ele exibe o ramo em que você está atualmente.


Se você está tentando fazer o "checkout" de uma nova ramificação remota (que existe apenas no controle remoto, mas não localmente), aqui está o que você precisa:

git fetch origin
git checkout --track origin/<remote_branch_name>

Isso pressupõe que você deseja buscar a origem . Se não, substitua a origem pelo seu nome remoto .


Se você já conhece o seu ramo remoto assim ...

git remote
=> One
=> Two

e você sabe o nome da agência que você deseja verificar ex. br1.2.3.4 então faça

git fetch One
=> returns all meta data of remote i.e. the branch name in question.

tudo o que resta é verificar o ramo

git checkout br.1.2.3.4

Em seguida, faça quaisquer novos ramos fora dele.


Um comando simples - "git checkout remote_branch_name" ajudará você a criar uma ramificação local que tenha todas as mudanças na ramificação remota.


Use git branch -a ( git branch -a locais e remotas) ou git branch -r (somente ramificações remotas) para ver todos os remotos e suas ramificações. Você pode então fazer um git checkout -t remotes/repo/branch para o controle remoto e criar um ramo local.

Há também um comando git ls-remote para ver todos os refs e tags do controle remoto.


Você pode buscar e verificar o ramo remoto em um tiro também: -

git fetch && git checkout the-branch-name

Você precisa criar uma ramificação local que rastreie uma ramificação remota. O comando a seguir criará uma ramificação local denominada daves_branch , rastreando a origem da ramificação remota / daves_branch . Quando você envia suas alterações, a ramificação remota será atualizada.

Para as versões mais recentes do git:

git checkout --track origin/daves_branch

--track é uma forma abreviada de git checkout -b [branch] [remotename]/[branch] onde [remotename] é origin neste caso e [branch] é duas vezes o mesmo, daves_branch neste caso.

Para o git 1.5.6.5 você precisava disso:

git checkout --track -b daves_branch origin/daves_branch

Para git 1.7.2.3 e superior, isso é suficiente (pode ter sido iniciado mais cedo, mas esta é a confirmação mais antiga que pude encontrar rapidamente):

git checkout daves_branch

Note que com versões recentes do git, este comando não irá criar um ramo local e irá colocá-lo em um estado 'HEAD separado'. Se você quiser um ramo local, use a opção --track . Detalhes completos aqui: http://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches


simplesmente tente

$ git pull origin your_branch_name


git branch <name> --track origin/<name>


git fetch --all & git checkout <branch name>


O título e a pergunta são confusos:

  • Git buscar ramo remoto
  • Como meu colega pode extrair esse ramo especificamente?

Se a pergunta é como posso obter uma ramificação remota para trabalhar ou como fazer check-out de uma ramificação remota, uma solução mais simples é:

Com git (> = 1.6.6) você pode usar:

git checkout <branch_name>

Se local <branch_name> não for encontrado, mas existir uma ramificação de rastreamento em exatamente um controle remoto com um nome correspondente, trate como equivalente a:

git checkout -b <branch_name> --track <remote>/<branch_name>

checkout

Para o seu amigo:

$ git checkout discover
Branch discover set up to track remote branch discover
Switched to a new branch 'discover'

git fetch

git branch -r

git checkout <branch_name>




git-fetch