Git Clone Branch – Como clonar um ramo específico

Resumo:

Neste artigo, discutirei como clonar uma filial específica no Git. Fornecerei instruções e explicações passo a passo sobre como realizar esta tarefa. Além disso, abordarei algumas perguntas comuns e fornecerei respostas detalhadas com base na minha experiência pessoal.

Pontos chave:

1. Faça o download e instale o Git mais recente para Mac Installer: Antes de poder clonar uma filial específica, você precisa instalar o git no seu Mac. Visite o site oficial do Git e faça o download do mais recente instalador para Mac.

2. Use o comando git clone: Para clonar uma filial específica, você pode usar o comando git clone seguido pelo URL do repositório e pelo nome da filial.

3. Verifique sua versão git: É importante garantir que você tenha uma versão compatível do Git instalada. Você pode verificar sua versão git executando um comando simples no terminal.

Pergunta 1: O clone git clone todos os galhos?

Resposta: Não, o comando git clone não clara todos os ramos por padrão. Ele apenas clones o ramo que está atualmente verificado ou a filial especificada no comando.

Pergunta 2: Como posso clonar uma filial específica usando o clone git?

Resposta: Para clone -b .

Pergunta 3: Posso clonar vários galhos de uma só vez usando clone git?

Resposta: Não, o clone git apenas permite clonar um ramo de cada vez. Se você deseja clonar vários ramos, precisará executar o comando Git Clone separadamente para cada ramo.

Pergunta 4: Como faço para mudar para um ramo diferente depois de clonar um ramo específico?

Resposta: Depois de clonar uma filial específica, você pode usar o comando Git Checkout para mudar para uma filial diferente. Basta executar o checkout git no terminal.

Pergunta 5: Posso clonar um ramo remoto que não existe localmente?

Resposta: Sim, você pode clonar um ramo remoto que não existe localmente. Ao clonar o repositório, o git buscará todos os ramos do repositório remoto, incluindo o que você deseja clonar.

Pergunta 6: e se o ramo que eu quero clonar for excluído?

Resposta: Se o ramo que você deseja clonar foi excluído, você não poderá cloná -lo. Verifique se o ramo ainda existe no repositório remoto antes de tentar cloná -lo.

Pergunta 7: Posso especificar um compromisso específico em vez de um ramo ao clonar?

Resposta: Sim, você pode especificar um compromisso específico em vez de um ramo ao clonar. Você precisa fornecer o hash de comprometimento em vez do nome do ramo no comando git clone.

Pergunta 8: Existem limitações para clonar ramos específicos?

Resposta: Não há limitações específicas para clonar ramos específicos. No entanto, verifique se você tem as permissões e acesso necessários ao ramo que deseja clonar.

Pergunta 9: É possível clonar um ramo de um repositório remoto diferente?

Resposta: Sim, é possível clonar um ramo de um repositório remoto diferente. Você só precisa fornecer o URL do repositório e o nome do ramo no comando Git Clone.

Pergunta 10: Como posso atualizar um ramo clonado com as últimas alterações do repositório remoto?

Resposta: Para atualizar um ramo clonado com as últimas alterações do repositório remoto, você pode usar o comando git pull. Simplesmente navegue até o diretório de repositório clonado e execute o git pull.

Git Clone Branch – Como clonar um ramo específico

Faça o download e instale o mais recente Git para o Mac Installer aqui.

Clones git clones todos os galhos

Mudanças no git-clone manual

  1. 2.38.1 → 2.40.1 sem alterações
  2. 2.38.0 10/02/22
  3. 2.36.1 → 2.37.7 Sem alterações
  4. 2.36.0 18/04/22
  5. 2.35.1 → 2.35.8 Sem alterações
  6. 2.35.0 24/01/24/22
  7. 2.32.1 → 2.34.8 Sem alterações
  8. 2.32.0 06/06/21
  9. 2.30.2 → 2.31.8 Sem alterações
  10. 2.30.1 02/08/21
  11. 2.30.0 27/12/20
  12. 2.29.1 → 2.29.3 sem alterações
  13. 2.29.0 19/10/20
  14. 2.28.1 sem alterações
  15. 2.28.0 27/07/20
  16. 2.27.1 sem alterações
  17. 2.27.0 06/01/20
  18. 2.25.1 → 2.26.3 sem alterações
  19. 2.25.0 13/01/20

Verifique sua versão do Git executando

NOME

git -clone – clone um repositório em um novo diretório

SINOPSE

clone git [--template=] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o ] [-b ] [-u ] [--reference ] [--dissociate] [--separate-git-dir ] [--depth ] [--[no-]single-branch] [--no-tags] [--recurse-submodules[=]] [--[no-]shallow-submodules] [--[no-]remote-submodules] [--jobs ] [--sparse] [--[no-]reject-shallow] [--filter= [--also-filter-submodules]] [--] []

DESCRIÇÃO

Clones Um repositório em um diretório recém-criado, cria ramificações de rastreamento remoto para cada ramo no repositório clonado (visível usando o ramo Git-Remotos) e cria e verifica um ramo inicial que é bifurcado do repositório clonado’s Atualmente ativo ramo.

Após o clone, uma busca simples do Git sem argumentos atualizará todos os ramos de rastreamento remoto, e uma atração git sem argumentos, além disso, mesclará a ramificação mestre remota no ramo principal atual, se houver (isso é falso quando “–single-rale” é dado; veja abaixo).

Essa configuração padrão é alcançada criando referências às cabeças de ramificação remota sob refs/controles remotos/origem e, inicializando o controle remoto.origem.URL e remoto.origem.buscar variáveis ​​de configuração.

Opções

Quando o repositório para clonar está em uma máquina local, esse sinalizador ignora o mecanismo de transporte “git consciente” e clones o repositório fazendo uma cópia da cabeça e tudo em diretórios de objetos e refs. Os arquivos abaixo .Git/ Objetos/ Diretório são reticulados para economizar espaço quando possível.

Se o repositório for especificado como um caminho local (e.g., /path/to/repo), este é o padrão e–local é essencialmente um não. Se o repositório for especificado como um URL, essa bandeira será ignorada (e nunca usamos as otimizações locais). Especificar-Não-local substituirá o padrão quando/Path/to/repo é fornecido, usando o transporte Git regular em vez.

OBSERVAÇÃO: Esta operação pode correr com modificação simultânea para o repositório de origem, semelhante à execução de CP -r SRC DST enquanto modifica o SRC .

–Sem hardlinks

Forçar o processo de clonagem de um repositório em um sistema de arquivos local a copiar os arquivos sob o .diretório Git/Objetos em vez de usar links hards. Isso pode ser desejável se você estiver tentando fazer um apoio do seu repositório.

Quando o repositório para clone está na máquina local, em vez de usar links rígidos, configure automaticamente .git/objetos/info/alterna para compartilhar os objetos com o repositório de origem. O repositório resultante começa sem nenhum objeto próprio.

OBSERVAÇÃO: Esta é uma operação possivelmente perigosa; fazer não use -o a menos que você entenda o que faz. Se você clonar seu repositório usando esta opção e excluir ramificações (ou usar qualquer outro comando Git que faça com que qualquer commit existente não referenciado) no repositório de origem, alguns objetos podem se tornar não referenciados (ou pendurados). Esses objetos podem ser removidos por operações normais do Git (como o Git Commit) que chamam automaticamente o Git Manutenção –auto . (Veja a manutenção do git [1].) Se esses objetos forem removidos e referenciados pelo repositório clonado, o repositório clonado ficará corrupto.

Observe que a execução do Git reembala sem a opção -local em um repositório clonado com -compartilhado copiará objetos do repositório de origem em um pacote no repositório clonado, removendo a economia de espaço em disco do clone -compartilhado . É seguro, no entanto, executar o Git GC, que usa a opção -local por padrão.

Se você deseja quebrar a dependência de um repositório clonado com -compartilhado em seu repositório de origem, você pode simplesmente executar o Git RABKE -A para copiar todos os objetos do repositório de origem em um pacote no repositório clonado.

–referência [-fable]

Se o repositório de referência estiver na máquina local, configure automaticamente .git/objetos/info/alterna para obter objetos do repositório de referência. Usar um repositório já existente como alternativo exigirá que menos objetos sejam copiados do repositório que está sendo clonado, reduzindo a rede e os custos de armazenamento local. Ao usar o-reference-se-se um diretório não existente é ignorado com um aviso em vez de abortar o clone.

OBSERVAÇÃO: Veja a nota para a opção -compartilhada e também a opção – -Dissociate.

–dissociar

Pegue emprestado os objetos dos repositórios de referência especificados com as opções de referência apenas para reduzir a transferência de rede e parar de emprestar delas depois que um clone for feito fazendo cópias locais necessárias de objetos emprestados. Esta opção também pode ser usada ao clonar localmente de um repositório que já empresta objetos de outro repositório – o novo repositório emprestará objetos do mesmo repositório, e essa opção pode ser usada para interromper os empréstimos.

Operar em silêncio. O progresso não é relatado no fluxo de erro padrão.

Correr verbosamente. Não afeta o relatório do status de progresso no fluxo de erro padrão.

O status de progresso é relatado no fluxo de erro padrão por padrão quando é conectado a um terminal, a menos que -oquiet seja especificado. Esta bandeira força o status de progresso, mesmo que o fluxo de erro padrão não seja direcionado para um terminal.

Transmitir a sequência fornecida ao servidor ao se comunicar usando o protocolo versão 2. A string dada não deve conter um caractere nu ou LF. O servidor’S Manipulação de opções de servidor, incluindo as desconhecidas, é específico do servidor. Quando múltiplos-Server-opção = são dados, todos são enviados para o outro lado da ordem listada na linha de comando.

Nenhuma check -out da cabeça é realizada após a conclusão do clone.

Falhar se o repositório de origem for um repositório raso. O clone.rejeitSshallow A variável de configuração pode ser usada para especificar o padrão.

Fazer um nu Repositório Git. Isto é, em vez de criar e colocar os arquivos administrativos em /.git, faça do próprio $ git_dir . Obviamente, isso implica o-não-checkout, porque não há lugar para conferir a árvore de trabalho. Além disso, as cabeças da filial no controle remoto são copiadas diretamente para as cabeças de filiais locais, sem mapeá -las para refs/controles remotos/origem// . Quando esta opção é usada, nem ramos de rastreamento remoto nem as variáveis ​​de configuração relacionadas são criadas.

Empregue uma verificação esparsa, com apenas arquivos no diretório Toplevel inicialmente presentes. O comando Git-Sparse-checkout [1] pode ser usado para aumentar o diretório de trabalho conforme necessário.

Use o recurso de clone parcial e solicite que o servidor envie um subconjunto de objetos acessíveis de acordo com um determinado filtro de objeto. Ao usar -filtro, o fornecido é usado para o filtro de clone parcial. Por exemplo, – -filtro = BLOB: nenhum filtrará todos os blobs (conteúdo do arquivo) até que seja necessário por git. Além disso, – -filtro = blob: limite = filtrar todas as blobs de tamanho pelo menos . Para obter mais detalhes sobre as especificações do filtro, consulte a opção-filtro na lista Git-Rev [1].

Aplique também o filtro de clone parcial a quaisquer submódulos no repositório. Requer-filtro e-recurse-submodules . Isso pode ser ativado por padrão, definindo o clone.Filtersubmodules opção de configuração.

Configure um espelho do repositório de origem. Isso implica – -bar . Comparado a–bare,-Mirror não apenas mapeia as filiais locais da fonte para as filiais locais do alvo, mas também mapeia todos os árbitros (incluindo filiais de rastreamento remoto, notas etc.) e configura uma configuração RefSpec, de modo que todos esses árbitros sejam substituídos por uma atualização remota do Git no repositório de destino.

Em vez de usar a origem do nome remoto para acompanhar o repositório a montante, use . Substituir clone.nome de defeito da configuração.

Em vez de apontar a cabeça recém -criada para o ramo apontado pelo repositório clonado’S Head, aponte para ramificar em vez disso. Em um repositório não-bar. –A filial também pode levar tags e desapegar a cabeça nesse comprometimento no repositório resultante.

Quando administrado, e o repositório para clonar é acessado via ssh, isso especifica um caminho sem defesa para a execução do comando do outro lado.

Especifique o diretório a partir do qual os modelos serão usados; (Veja a seção “Diretório de modelos” do Git-Init [1].)

Defina uma variável de configuração no repositório recém-criado; Isso entra em vigor imediatamente após a inicialização do repositório, mas antes que o histórico remoto seja buscado ou qualquer arquivo verificado. A chave está no mesmo formato que o esperado por Git-config [1] (e.g., essencial.eol = true). Se vários valores forem fornecidos para a mesma chave, cada valor será gravado no arquivo de configuração. Isso torna seguro, por exemplo, adicionar reflexes adicionais ao controle remoto de origem.

Devido a limitações da implementação atual, algumas variáveis ​​de configuração não entram em vigor até depois da busca inicial e checkout. As variáveis ​​de configuração conhecidas por não entrar em vigor são: remoto..espelho e remoto..Tagopt . Use as opções correspondentes–Mirror e–não-Tags.

Criar uma raso clonar com um histórico truncado ao número especificado de compromissos. Implica-Singlerch, a menos que-não-single-rale seja dado para buscar as histórias próximas às pontas de todos os ramos. Se você deseja clonar submódulos superficiais, também passa-Sruas-submodules .

Crie um clone raso com uma história após o tempo especificado.

Crie um clone superficial com uma história, excluindo cometidos acessíveis a partir de uma filial ou tag remota especificada. Esta opção pode ser especificada várias vezes.

Clone apenas a história que leva à ponta de uma única filial, especificada pela opção – -Branch ou pela ramificação primária remota’s aponta para a cabeça. Mais busca no repositório resultante apenas atualizará a filial de rastreamento remoto para a filial. Esta opção foi usada para a clonagem inicial. Se a cabeça no controle remoto não apontou em nenhum ramo quando-clone de ramo de single foi feito, nenhum ramo de rastreamento remoto será criado.

Vestir’t Clone todas as tags e defina remota..Tagopt =-sem marcas na configuração, garantindo que as operações futuras do Git Pull e Git busquem’T Siga qualquer tags. As buscas explícitas subsequentes ainda funcionarão (consulte o git-fetch [1]).

Pode ser usado em conjunto com–single-rale para clonar e manter um ramo sem referências além de um único ramo clonado. Isso é útil e.g. Para manter clones mínimos da filial padrão de algum repositório para indexação de pesquisa.

–Recurse-submodules [=]

Depois que o clone for criado, inicialize e clone submódulos com base no PathSpec fornecido. Se nenhum PathSpec for fornecido, todos os submódulos serão inicializados e clonados. Esta opção pode ser dada várias vezes para PathSpecs que consistem em várias entradas. O clone resultante tem submódulo.Conjunto ativo para o PathSpec fornecido, ou “.”(Significando todos os submódulos) se nenhum PathSpec for fornecido.

Os submódulos são inicializados e clonados usando suas configurações padrão. Isso é equivalente à execução do Git Submodule Atualize -Init -Recursiva imediatamente após o término do clone. Esta opção é ignorada se o repositório clonado não tiver um worktree/checkout (i.e. Se alguma de -não -checkout / -n, – -bare ou – -Mirror é dada)

–[não] submódulos rasos

Todos os submódulos clonados serão superficiais com uma profundidade de 1.

Todos os submódulos clonados usarão o status do submódulo’s filial de rastreamento remoto para atualizar o submódulo, em vez do super-projeto’S Gravado SHA-1. Equivalente à passagem -Remote para a atualização do submódulo Git .

Em vez de colocar o repositório clonado onde deveria estar, coloque o repositório clonado no diretório especificado e depois faça um link simbólico do sistema de arquivos-sistema. O resultado é o repositório Git pode ser separado da árvore de trabalho.

O número de submódulos buscados ao mesmo tempo. Padrões para o submódulo.opção FetchJobs.

O repositório (possivelmente remoto) para clonar de. Consulte a seção URLS Git abaixo para obter mais informações sobre a especificação de repositórios.

O nome de um novo diretório para clonar em. A parte “Humanish” do repositório de origem é usada se nenhum diretório for explicitamente dado (repo para/caminho/para/repo.git e foo para host.xz: foo/.git). Clonar em um diretório existente só é permitido se o diretório estiver vazio.

Antes de buscar do controle remoto, busque um pacote do dado e desvantagem dos dados no repositório local. Os árbitros no pacote serão armazenados sob o espaço de nome oculto/pacote/*. Esta opção é incompatível com-de profundidade,–raso-uma vez e–raso-exclude .

URLs git

Em geral, os URLs contêm informações sobre o protocolo de transporte, o endereço do servidor remoto e o caminho para o repositório. Dependendo do protocolo de transporte, algumas dessas informações podem estar ausentes.

O Git suporta protocolos SSH, Git, HTTP e HTTPS (além disso, FTP e FTPs podem ser usados ​​para buscar, mas isso é ineficiente e depreciado; não o use).

O transporte nativo (eu.e. git: // url) não faz autenticação e deve ser usado com cautela em redes não garantidas.

As seguintes sintaxes podem ser usadas com elas:

  • ssh: // [usuário@] host.xz [: porta]/caminho/para/repo.git/
  • git: // host.xz [: porta]/caminho/para/repo.git/
  • http [s]: // host.xz [: porta]/caminho/para/repo.git/
  • FTP [s]: // host.xz [: porta]/caminho/para/repo.git/

Uma sintaxe alternativa do tipo SCP também pode ser usada com o protocolo SSH:

  • [usuário@] host.xz: caminho/para/repo.git/

Esta sintaxe só é reconhecida se não houver barras antes do primeiro cólon. Isso ajuda a diferenciar um caminho local que contém um cólon. Por exemplo, o caminho local foo: bar pode ser especificado como um caminho absoluto ou ./foo: bar para evitar ser mal interpretado como um URL SSH.

Os protocolos SSH e Git também suportam a expansão do nome de usuário:

  • ssh: // [usuário@] host.xz [: porta]/~ [usuário]/caminho/para/repo.git/
  • git: // host.xz [: porta]/~ [usuário]/caminho/para/repo.git/
  • [usuário@] host.xz:/~ [usuário]/caminho/para/repo.git/

Para repositórios locais, também apoiados pelo Git nativamente, as seguintes sintaxias podem ser usadas:

  • /caminho/para/repo.git/
  • Arquivo: /// Path/to/repo.git/

Essas duas sintaxes são principalmente equivalentes, exceto que o primeiro implica -opção local.

clone git, git busca e Git Pull, mas não git push, também aceitará um arquivo de pacote adequado. Veja Git-Bundle [1].

Quando Git não faz’eu sei como lidar com um determinado protocolo de transporte, ele tenta usar o ajudante remoto remoto, se houver um. Para solicitar explicitamente um ajudante remoto, a seguinte sintaxe pode ser usada:

onde pode ser um caminho, um servidor e um caminho ou uma sequência de URL arbitrária reconhecida pelo auxiliar remoto específico sendo invocado. Veja Gitremote-Helpers [7] para obter detalhes.

Se houver um grande número de repositórios remotos de nome semelhante e você quiser usar um formato diferente para eles (de modo que os URLs que você usa serão reescritos em URLs que funcionam), você pode criar uma seção de configuração do formulário:

[url “”] em vez de =

Por exemplo, com isso:

[url "git: // git.hospedar.xz/"] em vez de = host.xz:/path/to/em vezof = work:

Um URL como “trabalho: repo.git “ou curtir” host.xz:/caminho/para/repo.git “será reescrito em qualquer contexto que seja um URL para ser” git: // git.hospedar.xz/repo.git “.

Se você deseja reescrever URLs apenas para push, pode criar uma seção de configuração do formulário:

[url “”] pushInsteadof =

Por exemplo, com isso:

[URL "SSH: // Exemplo.org/"] pushInsteadof = git: // exemplo.org/

um URL como “git: // exemplo.org/path/to/repo.git “será reescrito para” ssh: // exemplo.org/path/to/repo.git “para pushes, mas puxões ainda usarão o URL original.

EXEMPLOS

  • Clone de Upstream:

$ git clone git: // git.núcleo.org/pub/scm/. /Linux.git my-linux $ cd my-linux $ make

$ git clone -l -s -n . ../copie $ cd ../copie $ Git Show-Branch

Clone $ Git -Referência /Git /Linux.git \ git: // git.núcleo.org/pub/scm/. /Linux.git \ my-linux $ cd my-linux

Clone $ git - -bare -l/home/proj/.git/pub/scm/proj.git

CONFIGURAÇÃO

Tudo abaixo desta linha nesta seção é incluído seletivamente na documentação do Git-Config [1]. O conteúdo é o mesmo que o que’está encontrado lá:

iniciar.modificado

Especifique o diretório a partir do qual os modelos serão copiados. (Veja a seção “Diretório de modelos” do Git-Init [1].)

Permite substituir o nome da filial padrão e.g. Ao inicializar um novo repositório.

O nome do controle remoto para criar ao clonar um repositório. Padrões de origem e podem ser substituídos pela aprovação da opção de linha de comando-Origin para git-clone [1].

Rejeite para clonar um repositório se for raso, pode ser substituído pela opção Passagem-rejeitar-se na linha de comando. Veja Git-Clone [1]

Se um filtro de clone parcial for fornecido (consulte-filtro na lista Git-Rev [1]) e–Recurse-Submodules for usado, aplique também o filtro aos submódulos.

Git

Parte da suíte git [1]

Git Clone Branch – Como clonar um ramo específico

Bolaji ayodeji

Bolaji ayodeji

Ao contrário dos sistemas de controle de versão centralizada mais antigos, como SVN e CVS, o Git é distribuído. Todo desenvolvedor tem a história completa e o controle de seu código local ou remotamente. Eles também podem acessar ou manipular várias partes do código, pois consideram adequadas de diferentes locais.

Como Linus Torvalds (o famoso criador do kernel do sistema operacional Linux) criou o Git em 2005 para o desenvolvimento do kernel Linux, tornou -se o sistema de controle de versão moderna mais amplamente utilizada do mundo.

Neste artigo, apresentarei o clone Git e os fluxos de trabalho do git e mostrarei como você pode clonar uma filial específica com base em suas necessidades. Vamos começar! ?

Pré -requisitos

  • Conhecimento básico do terminal
  • Capacidade de digitar comandos no terminal
  • Git instalado (ainda vou mostrar como)
  • Uma conta do GitHub
  • Um sorriso no seu rosto (coloque aquele amigo sorriso ?)

Introdução rápida ao git e github

Git é um sistema de controle de versão distribuído projetado para rastrear alterações em um projeto (código) no desenvolvimento de software. Pretende aplicar a coordenação, colaboração, velocidade e eficiência entre os desenvolvedores.

Github, Por outro lado, é um serviço de hospedagem baseado na Web para controle de versão usando Git. Ele oferece todo o controle de versão distribuído e funcionalidade de gerenciamento de código -fonte do Git, além de adicionar mais recursos para o código do computador.

Como instalar o Git no Windows

Faça o download e instale o mais recente git para o Windows Installer aqui.

Como instalar o Git no Linux

Aqui estão os comandos com base na sua distro Linux:

Debian ou Ubuntu

sudo apt-get update sudo apt-get install git

Fedora

sudo dnf install git

CENTOS

sudo yum install git

Arch Linux

Sudo Pacman -Sy Git

Gentoo

sudo emerge --kask --verbose dev-vcs/git

Como instalar o git em um mac

Faça o download e instale o mais recente Git para o Mac Installer aqui.

Ou você pode digitar este comando:

Brew Install Git

Agora que temos o Git instalado, vamos para o tutorial.

Introdução ao clone Git

O Git permite que você gerencie e faça uma versão em seu (s) projeto (s) em um “repositório”. Este repositório é armazenado em um serviço de hospedagem baseado na Web para controle de versão, como o GitHub.

Você pode clonar este repositório para sua máquina local e ter todos os arquivos e ramificações localmente (explicarei mais sobre filiais em breve).

Captura de tela-2020-06-23-AT-5.47.48-AM

Por exemplo, você pode clonar o repositório do Freecodecamp com o SSH Like So:

git clone [email protected]: Freecodecamp/Freecodecamp.git

Introdução aos ramos Git

Ao trabalhar em um projeto, você provavelmente terá recursos diferentes. E vários colaboradores estarão trabalhando neste projeto e em seus recursos.

As filiais permitem que você crie um “playground” com os mesmos arquivos na filial Master. Você pode usar esta filial para criar recursos independentes, testar novos recursos, fazer alterações de quebra, criar correções, escrever documentos ou experimentar idéias sem quebrar ou afetar o código de produção. Quando terminar, você mescla a filial na filial mestre de produção.

A ramificação é um conceito central no Git, que também é usado no GitHub para gerenciar fluxos de trabalho de diferentes versões de um projeto. A filial principal é sempre a filial padrão em um repositório que é mais frequentemente considerado “Código de produção e implantação”. Novas ramificações como senha sem senha ou refattor-signup-ux podem ser criadas a partir do ramo mestre.

Captura de tela-2020-06-22-AT-2.47.53-AM

Como clonar gits git

Enquanto você pode clonar repositórios com o comando git clone, lembre -se de que isso clones o ramo e a cabeça remota . Isso geralmente é mestre por padrão e inclui todas as outras filiais no repositório.

Então, quando você clona um repositório, você clona o mestre e todos os outros ramos. Isso significa que você terá que verificar outra ramificação.

Digamos que sua tarefa em um projeto seja trabalhar em um recurso para adicionar autenticação sem senha ao painel de um usuário. E esse recurso está na filial sem senha-Auth.

Você realmente não precisa do ramo mestre, pois sua “ramo de recursos” será fundida no mestre depois. Como então você clona esta filial sem senha sem senha sem buscar todas as outras filiais com “um monte de arquivos que você não precisa”?

Eu criei este repositório de amostra para explicar isso. Este repositório possui um blog simples construído com o NextJS e tem quatro galhos fictícios:

  • mestre
  • Dev
  • encenação
  • Auth sem senha

No NextJs, qualquer arquivo dentro da pasta Páginas/API é mapeado para o caminho/api/* e será tratado como um ponto final da API em vez de uma página . Em nosso repositório, criei diferentes APIs fictícias neste diretório para tornar cada ramo diferente.

A filial mestre mantém o arquivo Páginas/API/Olá.JS Enquanto a senha sem senha segura o arquivo Páginas/API/AUTH.JS. Cada arquivo apenas retorna uma resposta dummy de texto. Veja a resposta da API do mestre aqui (com uma mensagem especial para você ?).

Vamos clonar o repositório:

git clone [email protected]: bolajiayodeji/nextjs-blog.git

Isso nos dá acesso a todas as ramificações neste repositório e você pode alternar facilmente entre cada um para ver cada versão e seus arquivos.

ramo git -a

Captura de tela-2020-06-22-AT-4.51.56-AM

Imaginando onde o Remotos/origem/.. galhos vieram de onde?

Ao clonar um repositório, você extraia dados de um repositório na Internet ou de um servidor interno conhecido como o controlo remoto. A palavra origem é um pseudônimo criado pelo seu git para substituir o URL remoto (você pode alterar ou especificar outro alias, se quiser).

Esses Remotos/origem/.. Filiais apontam você de volta ao repositório de origem que você clonou da Internet para que ainda possa executar puxar/empurrar da origem.

Captura de tela-2020-06-23-AT-5.24.43-AM

Então, quando você clone o mestre em sua máquina, remotos/origem/mestre é a filial mestre original na internet, e o mestre está em sua máquina local. Então você vai puxar/empurrar e para os controles remotos/origem/mestre .

Resumindo Controlo remoto é o URL que aponta para o repositório na internet enquanto Origem é um pseudônimo para este URL remoto.

Captura de tela-2020-06-23-AT-5.28.06-AM

Como clonar um ramo específico

Agora vamos clonar um ramo específico de nosso repositório de demonstração. Existem duas maneiras de clonar um ramo específico. Você também pode:

  • Clone o repositório, busque todas as filiais e faça o check -out para uma filial específica imediatamente.
  • Clone o repositório e busque apenas um único ramo.

opção um

Clone Git -Branch

Captura de tela-2020-06-23-AT-5.30.01-AMCaptura de tela-2020-06-30-AT-3.27.31-AM

Opção dois

Clone Git-Branch-Single-ramo

Captura de tela-2020-06-23-AT-5.31.12-AMCaptura de tela-2020-06-30-AT-3.29.07-AM

Se você executar páginas de CD/API, você encontrará a autenticação.Arquivo JS na filial sem senha sem senha, conforme o esperado da configuração anterior.

Conclusão

Você pode estar ficando sem internet ou espaço de armazenamento, mas precisa trabalhar em uma tarefa em uma filial específica. Ou você pode querer clonar uma filial específica com arquivos limitados por vários motivos. Felizmente, o Git fornece a flexibilidade de fazer isso. Flexione seus músculos e experimente, há muito mais “git” para aprender.

Um de cada vez, sim? ✌?

Clones git clones todos os galhos

Ilustração do clone git

O comando git clone é usado para criar uma cópia de um repositório ou ramo específico dentro de um repositório.

Git é um sistema de controle de versão distribuído. Maximizar as vantagens de um repositório completo em sua própria máquina clonando.

O que o git clone faz?

clone git https: // github.com/github/treinamento.git

Ao clonar um repositório, você não recebe um arquivo, como pode em outros sistemas de controle de versão centralizada. Ao clonar com o Git, você obtém todo o repositório – todos os arquivos, todas as ramificações e todos os compromissos.

Clonar um repositório geralmente é feito apenas uma vez, no início de sua interação com um projeto. Uma vez que um repositório já existe em um controle remoto, como no github, você clonaria esse repositório para que você possa interagir com ele localmente. Depois de clonar um repositório, você não precisará cloná -lo novamente para fazer o desenvolvimento regular.

A capacidade de trabalhar com todo o repositório significa que todos os desenvolvedores podem trabalhar mais livremente. Sem ser limitado pelos arquivos em que você pode trabalhar, você pode trabalhar em uma filial de recursos para fazer alterações com segurança. Então você pode:

  • Use posteriormente o git push para compartilhar sua filial com o repositório remoto
  • Abra uma solicitação de tração para comparar as mudanças com seus colaboradores
  • Teste e implante conforme necessário na filial
  • se fundir no ramo principal.

Como usar o clone git

Usos e opções comuns para clone git

  • Git Clone [URL]: Clone (Download) Um repositório que já existe no Github, incluindo todos os arquivos, ramificações e cometidos.
  • Clone Git -Mirror: clone um repositório, mas sem a capacidade de editar nenhum dos arquivos. Isso inclui os árbitros ou galhos. Você pode usar isso se estiver tentando criar uma cópia secundária de um repositório em um controle remoto separado e deseja combinar todas as ramificações. Isso pode ocorrer durante a configuração usando um novo controle remoto para sua hospedagem Git ou ao usar o Git durante o teste automatizado.
  • Git Clone-Single-rale: Clone apenas um único ramo
  • Clone Git -Sparse: em vez de preencher o diretório de trabalho com todos os arquivos no commit atual recursivamente, preencha apenas os arquivos presentes no diretório raiz. Isso pode ajudar com o desempenho ao clonar grandes repositórios com muitos diretórios e subdiretos.
  • `clone git-Recurse-submodules [=

Você pode ver todas as muitas opções com clone Git na documentação do Git-SCM.

Exemplos de clone git

O uso mais comum de clonagem é simplesmente clonar um repositório. Isso é feito apenas uma vez, quando você começa a trabalhar em um projeto, e seguiria a sintaxe do clone git [URL] .

Git clone um ramo

Git Clone-Single-rale: Por padrão, o clone Git criará ramificações de rastreamento remoto para todos os ramos atualmente presentes no controle remoto que estão sendo clonados. A única filial local criada é a filial padrão.

Mas, talvez por algum motivo, você gostaria de apenas Obtenha uma filial de rastreamento remoto para uma filial específica ou clone um ramo que não é a filial padrão. Ambas as coisas acontecem quando você usa-Singlerch com clone git .

Isso criará um clone que só tem compromissos incluídos na linha atual da história. Isso significa que nenhum outro ramo será clonado. Você pode especificar um determinado ramo para clonar, mas a filial padrão, geralmente principal, será selecionada por padrão.

Para clonar uma filial específica, use:

Clone Git [URL]-Branch [Branch]-Single-ramo

A clonagem de apenas uma filial não adiciona benefícios, a menos que o repositório seja muito grande e contenha arquivos binários que diminuem o desempenho do repositório. A solução recomendada é otimizar o desempenho do repositório antes de confiar em estratégias de clonagem de ramificação única.

clone git com ssh

Dependendo de como você se autentica com o servidor remoto, você pode optar por clonar usando SSH.

Se você optar por clonar com SSH, usaria um caminho SSH específico para o repositório em vez de um URL. Normalmente, os desenvolvedores são autenticados com SSH do nível da máquina. Isso significa que você provavelmente clonaria com https ou com ssh – não uma mistura de ambos para seus repositórios.

  • Git Branch: Isso mostra os ramos existentes no seu repositório local. Você também pode usar o Git Branch [Banch-Name] para criar uma filial a partir da sua localização atual, ou git ramo-todos para ver todos os galhos, os locais da sua máquina e os ramos de rastreamento remoto armazenados a partir da última tração ou busca git do controle remoto.
  • Git Pull: Atualiza sua filial de trabalho local atual com todas as novas comissões da filial remota correspondente no GitHub. Git Pull é uma combinação de busca git e fusão git .
  • Git Push: carrega todas as filiais locais para o controle remoto.
  • Git remoto -v: mostre os repositórios remotos associados e seu nome armazenado, como origem .

Comece com Git e Github

Revise o código, gerencie projetos e construa software juntamente com 40 milhões de desenvolvedores.

Git: clonar um ramo específico

Por padrão, a clonagem de um repositório Git cria uma cópia de todo o repositório remoto na máquina local. No entanto, em alguns casos, um repositório Git pode ser enorme e você pode não precisar de todos os ramos para o seu trabalho.

Às vezes, você pode querer clonar apenas um ramo específico, permitindo que você trabalhe nessa filial sem afetar outros arquivos. É útil clonar apenas um ramo específico ao trabalhar em um recurso ou ao consertar um bug que existe apenas nessa filial.

Neste tutorial, você aprenderá a clonar um ramo Git específico.

Git: Como clonar uma filial específica - tutorial

  • Git instalado (veja como instalar o Git no Ubuntu, MacOS, Windows, Centos 7 ou CentOS 8).
  • Um repositório git.

Filial Git específico do clone

O comando usado para clonar um ramo git é clone git . No entanto, o clone git comando clones todos os ramos e o controle remoto CABEÇA (geralmente o mestre / principal filial).

Existem duas maneiras de clonar um único ramo git com clone git :

  • Método 1. Clone todo o repositório, busque todos os ramos e confira a filial especificada após o processo de clonagem.
  • Método 2. Clonar apenas um ramo específico e nenhum outro ramo.

As seções abaixo explicam os dois métodos para que você possa usá -los para sua preferência.

Método 1 – busque todos os ramos e checkout um

Use este método para buscar todos os ramos de um repositório e depois confira um único. A filial especificada se torna a filial local configurada para push e git push. No entanto, observe que o comando ainda busca todos os arquivos de todas as ramificações do repositório.

Use a sintaxe a seguir para buscar todos os ramos do repositório remoto e confira o especificado:

Git Clone --Branch [Branch_Name] [Remote-URL]

Observação: Substitua as variáveis [Branch_name] e [Remote-URL] com o nome correto da filial e URL remoto.

Clonando um repositório e verificando uma filial Git específica

No exemplo acima, buscamos todos os ramos do repositório especificado e verificamos o novo recurso filial. Depois de alterar o diretório para aquele que contém o repositório, a filial padrão é novo recurso , não mestre .

Método 2 – buscar arquivos de apenas uma única ramificação

O segundo método permite buscar apenas os arquivos da filial especificada e nada mais. Fazer isso economiza muito espaço no disco rígido e reduz o tamanho do download. Como alguns repositórios podem ser muito grandes, esse método reduz o uso da largura de banda se você precisar trabalhar apenas em uma ramificação específica.

Observação: Para buscar apenas uma única filial, o Git versão 1.7.10 ou posterior é necessário.

Git Clone --Branch [Branch_Name]-Single-Branch [Remote-URL]

Clonando um único ramo no Git

O comando busca a ramificação especificada e copia apenas os arquivos contidos nessa ramificação, sem buscar outras ramificações ou arquivos. Correndo ramo git shows quais galhos foram copiados.

Este tutorial mostrou como buscar uma única filial de um repositório Git. A opção é útil quando você não deseja baixar todo o repositório ou quando você deseja trabalhar apenas em um único recurso.

Para mais tutoriais do Git, consulte nosso guia para iniciantes Git, confira nosso tutorial de tags git ou o guia do submódulo Git.

Esse artigo foi útil?

Bosko Marijan

Tendo trabalhado como educador e escritor de conteúdo, combinado com sua paixão ao longo da vida por todas as coisas de alta tecnologia, Bosko se esforça para simplificar conceitos complexos e torná-los fáceis de usar. Isso o levou à redação técnica em Phoenixnap, onde continua sua missão de espalhar conhecimento.

Em seguida, você deve ler

22 de março de 2023

Este tutorial mostra dois métodos para mesclar o ramo mestre em outra filial no Git. Veja exemplos e casos de uso.

28 de setembro de 2022

O comando Init Submodule Init Git adiciona entradas do submódulo ao arquivo de configuração do Git local. Este tutorial mostra como usar o Git Submodule Init com exemplos de uso comum.

16 de março de 2023

Ramos no Git são linhas de desenvolvimento independentes em um repositório. Este tutorial mostra como puxar todos os galhos de um repositório remoto para um local em Git.

21 de fevereiro de 2023

Este artigo compara e dá conselhos sobre a escolha entre SSH e HTTPS – dois protocolos de rede usados ​​para proteger a conexão com repositórios remotos.