9.0 Um pouco de história
Desde sua criação, a ferramenta Git DVCS tinha uma branch padrão chamada master
. Cada repositório Git tinha a branch master
, a menos que o desenvolvedor tomasse medidas explícitas para removê-la, o que raramente era feito, já que a branch master
desempenha um papel importante no mundo do desenvolvimento de software.
O uso dos termos master
e slave
(mestre e escravo) na indústria de computadores chamou a atenção de todos durante o verão de 2020 em meio a muitos protestos e crescente agitação social. Durante a discussão pública, várias alternativas para master
surgiram, como default
e primary
. No entanto, o termo mais popular se tornou main
.
O GitHub tomou medidas e deixou de usar o termo master
ao inicializar um repositório Git. A troca do GitHub de master
para main
é possível nas configurações da conta em Repositórios ou com o comando:
$ git branch -m master main
Nas aulas seguintes, o termo master
será utilizado. Mais informações sobre a transição podem ser encontradas nos seguintes links:
9.1 O que é Git e por que ele é importante
Git é um poderoso sistema de controle de versão usado para rastrear alterações no código-fonte durante o desenvolvimento de software. Ele permite que os desenvolvedores salvem diferentes versões de arquivos e coordenem o trabalho de várias pessoas em um projeto comum.
Conceitos principais do Git:
Repositório
Um repositório (ou "repo") é o local onde todo o histórico do projeto é armazenado, incluindo todas as alterações e versões de arquivos. No Git, um repositório inclui o diretório de trabalho, o índice (ou staging area) e o banco de dados de objetos.
Commits
Um commit é o estado salvo do projeto. Cada commit no Git contém informações sobre quais mudanças foram feitas no projeto, por quem e quando. Commits formam o histórico do projeto e permitem retornar a qualquer versão anterior.
Branches
Uma branch é uma linha de desenvolvimento independente. Por padrão, o Git cria a branch main (anteriormente master). Você pode criar novas branches para desenvolver novos recursos ou correções, e depois mesclá-las de volta à branch principal.
Merge e Rebase
Merge e rebase são duas maneiras de integrar mudanças de uma branch para outra. O merge combina os históricos de duas branches, criando um novo commit, enquanto o rebase move os commits de uma branch para o topo de outra, alterando o histórico dos commits.
9.2 Comandos básicos do Git
Aqui está uma tabela com os comandos básicos do Git para gerenciamento de versões:
Comando | Descrição |
---|---|
git init | Inicializa um novo repositório Git no diretório atual. |
git clone | Clona um repositório do URL para um novo diretório. |
git add | Adiciona arquivos ao índice para o próximo commit. |
git commit | Registra as alterações preparadas no repositório. |
git push | Envia alterações do repositório local para o remoto. |
git pull | Atualiza a branch atual com a última versão do repositório remoto. |
git branch | Mostra, cria ou exclui branches. |
git merge | Mistura mudanças da branch especificada na branch atual. |
git rebase | Move alterações para uma nova base (geralmente, outra branch). |
Esses comandos são as ferramentas básicas para trabalhar com Git, permitindo o gerenciamento de alterações no código, branches e merges em projetos de qualquer tamanho. Vamos detalhar cada um deles nas próximas aulas.
9.3 Três locais de armazenamento de código
Quando você estiver usando um sistema de controle de versão para seu código, seu código, grosso modo, será armazenado em três lugares:
1. Repositório remoto:
Este é o local centralizado para armazenar seu código, geralmente hospedado em serviços como GitHub, GitLab, ou Bitbucket. Eles fornecem armazenamento centralizado de código e são a base para colaboração.
Repositórios remotos permitem que desenvolvedores compartilhem suas mudanças, sincronizem esforços e mantenham o histórico de alterações do projeto. Além disso, o repositório remoto serve como ponto de integração para automatização de processos, como build, teste e deployment de aplicações.
2. Repositório local:
O repositório local é sua cópia pessoal do código, armazenada no seu computador. Neste repositório você pode realizar todas as operações do Git (commits, branches, merges) sem a necessidade de conexão com a internet.
Repositórios locais permitem que os desenvolvedores trabalhem isoladamente dos colegas, experimentem, criem novos recursos ou corrijam erros antes que as alterações sejam mescladas (merge) e enviadas para o repositório remoto.
3. Diretório de trabalho:
O diretório de trabalho no seu computador contém os arquivos atuais do projeto nos quais você está trabalhando no momento. É onde você pode ver e modificar arquivos, adicionar novas funcionalidades ou corrigir bugs.
Após fazer modificações, você pode adicioná-las ao índice (staging area) e depois registrá-las no repositório local. O diretório de trabalho está associado à branch atual no seu repositório, e mudar de branch altera o conteúdo do diretório de trabalho.
Esses componentes juntos fornecem uma infraestrutura poderosa para gerenciar o código fonte, permitindo que desenvolvedores gerenciem o histórico do projeto, colaborem e compartilhem a responsabilidade pelo código.
9.4 GitHub — o repositório gratuito mais popular
GitHub é a maior plataforma web para hospedagem de código-fonte, usando o sistema de controle de versão Git. Fundada em 2008, rapidamente se tornou uma das ferramentas essenciais para desenvolvedores no mundo todo.
GitHub permite que os usuários criem repositórios para gerenciar projetos, controlar e rastrear mudanças no código, colaborem com outros desenvolvedores e desenvolvam de forma pública ou privada. Ele oferece recursos como forks, branches, pull requests e merges, permitindo que desenvolvedores colaborem facilmente em projetos.
GitHub também inclui funcionalidade para rastreamento de problemas, solicitações de recursos, gerenciamento de tarefas e wikis para cada projeto. A plataforma integra-se com uma variedade de ferramentas e serviços, oferecendo amplas possibilidades para automação de desenvolvimento, testes e deployment de aplicações.
GitHub suporta uma comunidade extensa de desenvolvedores, onde melhores práticas de programação, gerenciamento de projetos e muito mais são ativamente discutidos. Isso o torna não apenas uma ferramenta para gerenciamento de projetos, mas também um centro comunitário onde desenvolvedores podem compartilhar conhecimentos e experiências.
9.5 Cadastro no GitHub
Passo 1. Acesse https://github.com
Passo 2. Cadastre-se…
Passo 3. Clique no botão "New" para criar um novo repositório.
Passo 4. Informe o nome do repositório e configure seus parâmetros.
Passo 5. Adicione um arquivo README ao projeto — precisaremos dele no futuro.
Passo 6. Clique em "Create repository".
GO TO FULL VERSION