DEV Community

Cover image for Aprimorando suas habilidades com Git e GitHub
Josimar Costa
Josimar Costa

Posted on

Aprimorando suas habilidades com Git e GitHub

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"
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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.

Top comments (0)