git clone
git clone: clonar um repositório remoto em um novo diretório.
O comando git clone é usado para criar uma cópia local de um repositório Git remoto. Ele cria um novo diretório, inicializa um repositório Git dentro dele e copia todo o conteúdo do repositório remoto de origem. Esse comando também configura branches de rastreamento remoto para cada branch do repositório clonado, além de criar e fazer checkout de uma branch inicial baseada na branch ativa no momento no repositório remoto.
Quando você clona um repositório, o Git estabelece automaticamente uma conexão com o repositório remoto original, o que permite sincronizar facilmente a sua cópia local com qualquer atualização feita no remoto. Essa conexão remota costuma receber o rótulo origin.
O git clone é essencial quando você quer contribuir com projetos remotos existentes, colaborar com outras pessoas no GitHub, no GitLab ou em outros serviços de hospedagem Git, ou simplesmente criar um backup local de um repositório remoto. Depois de clonar, você tem acesso completo a todo o histórico do projeto e a todas as suas branches, e pode trabalhar de forma independente, sem afetar o repositório remoto, até decidir dar um push nas suas alterações.
Embora o git clone seja usado principalmente com repositórios remotos, tecnicamente ele também pode clonar repositórios locais. Por exemplo:
git clone /path/to/local/repository new-copyMas esse caso de uso raramente é necessário na prática. Se você só quer fazer uma cópia de um repositório local, em geral vale mais criar um repositório novo e copiar os arquivos, ou usar ferramentas como o git worktree se precisar trabalhar em vários diretórios dentro do mesmo repositório.
Exemplos
Clone um repositório do GitHub para a sua máquina local:
git clone https://github.com/username/repository.gitClone um repositório em um diretório específico:
git clone https://github.com/username/repository.git my-projectClone um repositório com uma branch específica e sem baixar o histórico completo (shallow clone):
git clone --branch develop --depth 1 https://github.com/username/repository.gitClone um repositório com todos os submódulos:
git clone --recursive https://github.com/username/repository.git.gitignoregit checkoutgit configgit taggit worktree