Aprimorando suas habilidades com Git e GitHub
Josimar Costa
Posted on July 21, 2024
Este artigo para iniciantes aborda comandos e conceitos que são essenciais para desenvolvedores que desejam elevar seu nível de programação utilizando um sistema de controle de versão.
Primeiramente iremos entender o que é o GIT e o GITHUB:
Git é um sistema de controle de versão distribuído que permite aos desenvolvedores rastrear e gerenciar alterações no código-fonte ao longo do tempo. Ele foi criado por Linus Torvalds em 2005 para ajudar na coordenação do desenvolvimento do kernel do Linux. Aqui estão alguns conceitos chave sobre o Git:
- Controle de Versão Distribuído: Cada desenvolvedor tem uma cópia completa do repositório, incluindo todo o histórico de alterações, em sua máquina local.
- Snapshots: Ao invés de armazenar diferenças entre versões, o Git armazena uma "foto" completa de cada versão do código, o que facilita a restauração de estados anteriores.
- Branching e Merging: Git permite criar ramificações (branches) para trabalhar em funcionalidades ou correções de bugs de forma isolada, e depois mesclá-las (merge) de volta ao ramo principal.
- Staging Area: Antes de confirmar alterações (commits), elas são adicionadas a uma área intermediária chamada de área de staging, permitindo um controle granular sobre quais mudanças serão incluídas no commit.
GitHub é uma plataforma de hospedagem de código-fonte baseada na web que utiliza o Git como sistema de controle de versão. Ela oferece uma série de funcionalidades adicionais que facilitam a colaboração e o gerenciamento de projetos de software:
- Repositórios Remotos: GitHub permite que desenvolvedores hospedem repositórios Git na nuvem, facilitando o acesso e a colaboração de qualquer lugar.
- Forking: Usuários podem criar uma cópia de um repositório (fork) para realizar mudanças sem afetar o repositório original.
- Pull Requests: Um pull request é uma proposta de integração de mudanças de um repositório forkado ou de uma ramificação para outro, permitindo revisões de código e discussões antes de mesclar as mudanças.
- Issues e Projetos: GitHub oferece ferramentas para rastreamento de bugs, solicitações de funcionalidades e gerenciamento de tarefas através de issues e projetos.
- Integrações e Actions: GitHub Actions permite a automação de fluxos de trabalho, como integração contínua e entrega contínua (CI/CD), diretamente no repositório.
Agora que já entendemos o que é cada um desses elementos vamos conhecer um pouco dos principais conceitos e comandos utilizados na manipulação deles.
Configurações do Git:
-
git config
é usado para ajustar as configurações do Git, tanto a nível global quanto local.
git config --global user.name "Seu Nome"
git config --global user.email "seu.email@example.com"
Status e Área de Staging:
-
git status
exibe o estado do diretório de trabalho e da área de staging, mostrando quais mudanças foram ou não preparadas para commit. - A área de staging é um espaço intermediário onde você pode preparar mudanças antes de confirmar.
git add <arquivo>
git commit -m "mensagem"
Commits e Push:
-
git commit
captura um snapshot das mudanças atualmente preparadas. -
git push
envia o conteúdo do repositório local para um repositório remoto, geralmente no GitHub.
git push origin main
Branches e Merges:
-
git branch
permite criar e gerenciar ramificações no seu projeto. -
git merge
integra linhas de desenvolvimento independentes.
git branch nome_da_branch
git checkout -b nome_da_branch
git merge nome_da_branch
Pull Requests e Resolução de Conflitos:
- Um pull request é uma proposta de integração de mudanças de uma ramificação para outra, facilitando a revisão e discussão das alterações.
- Conflitos de merge ocorrem quando alterações diferentes são feitas na mesma linha de um arquivo ou quando um arquivo editado por uma pessoa é excluído por outra. É necessário resolver todos os conflitos antes de concluir um merge.
Revertendo Alterações:
-
git reset
é uma ferramenta versátil para desfazer mudanças, com três modos principais: --soft, --mixed e --hard.
git reset --soft
git reset --mixed
git reset --hard
Clonando e Atualizando Repositórios:
-
git pull
busca e baixa conteúdo de um repositório remoto, atualizando imediatamente o repositório local para corresponder a esse conteúdo. -
git clone
cria uma cópia de um repositório existente.
git pull nome_do_repositorio
git clone nome_do_repositorio
Este artigo oferece as ferramentas e conhecimentos necessários para aprimorar seu uso do Git e GitHub, tornando-o um desenvolvedor mais eficiente e eficaz. Pratique regularmente para dominar esses conceitos e comandos.
Posted on July 21, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.