Article image
Natalvides Neto
Natalvides Neto10/08/2024 11:00
Compartilhe

Explicando Git e Gihub

  • #GitHub
  • #Git

Git

O que é versionamento de código?

Versionamento de código é a prática de gerenciar e registrar mudanças no código-fonte de um software ao longo do tempo. Essa prática permite que desenvolvedores acompanhem o histórico de modificações, revertam para versões anteriores se necessário, colaborem de maneira eficiente com outros desenvolvedores e mantenham um registro detalhado de quem fez o quê e quando.

O versionamento é geralmente implementado através de sistemas de controle de versão (VCS, na sigla em inglês), como o Git. Esses sistemas armazenam versões do código em um repositório, permitindo que múltiplos desenvolvedores trabalhem simultaneamente sem conflitos, além de facilitar a fusão de diferentes versões do código.

Principais conceitos no versionamento de código:

  • Commit: Um ponto de salvamento que registra as mudanças feitas no código.
  • Branch: Uma ramificação onde você pode desenvolver novas funcionalidades sem afetar a linha principal do desenvolvimento (geralmente chamada de "main" ou "master").
  • Merge: O processo de integrar mudanças de diferentes branches.
  • Tag: Um marcador usado para identificar versões específicas, como lançamentos de software.

Essa prática é essencial para o desenvolvimento de software moderno, especialmente em equipes.

O que é Git ?

Git é um sistema de controle de versão distribuído, amplamente utilizado para rastrear alterações em arquivos e coordenar o trabalho de vários desenvolvedores em projetos de software. Ele foi criado por Linus Torvalds em 2005, originalmente para ajudar no desenvolvimento do kernel do Linux.

Principais características do Git:

  • Distribuído: Cada desenvolvedor tem uma cópia completa do histórico do projeto em seu repositório local, o que permite trabalhar offline e reduz a dependência de um servidor central.
  • Velocidade e Eficiência: Git é projetado para ser rápido, mesmo em projetos grandes, com operações como commits e branching sendo rápidas e eficientes.
  • Branching e Merging: Git facilita a criação de branches para desenvolver novas funcionalidades ou corrigir bugs sem afetar o código principal. As operações de merge são flexíveis e suportam a integração de diferentes versões do código.
  • Commit e Histórico: Cada commit (ou salvamento de alterações) é identificado por um hash único, o que garante integridade e rastreabilidade. O histórico do projeto é mantido de forma que seja fácil visualizar e reverter mudanças.
  • Colaboração: Git facilita a colaboração em equipe, permitindo que múltiplos desenvolvedores trabalhem em paralelo sem conflitos.

Fluxo de Trabalho Básico com Git:

  1. Inicialização: Crie um novo repositório Git usando git init ou clone um repositório existente com git clone.
  2. Fazendo Alterações: Modifique os arquivos no diretório de trabalho e adicione essas mudanças à área de staging com git add.
  3. Commit: Registre as mudanças no repositório com git commit, incluindo uma mensagem descritiva.
  4. Branching: Crie um branch para desenvolver uma nova funcionalidade com git branch e mude para ele usando git checkout ou git switch.
  5. Merge: Una as alterações de um branch ao branch principal com git merge.
  6. Push e Pull: Envie suas alterações para um repositório remoto com git push e integre as mudanças de outros desenvolvedores com git pull.

O Git é essencial para o desenvolvimento colaborativo e tem se tornado o padrão de fato em muitos projetos de software ao redor do mundo.

O que é GitHub ?

GitHub é uma plataforma de hospedagem de código-fonte baseada na web que usa o sistema de controle de versão Git. Ela permite que desenvolvedores e equipes colaborem em projetos de software, compartilhem código e gerenciem o desenvolvimento de maneira centralizada e organizada. GitHub oferece uma interface amigável para interagir com repositórios Git, além de uma variedade de recursos que facilitam a colaboração e a gestão de projetos.

Principais Recursos do GitHub:

  • Repositórios: No GitHub, os repositórios são onde o código-fonte de um projeto é armazenado. Eles podem ser públicos (acessíveis a qualquer pessoa) ou privados (restritos a membros autorizados).
  • Forks: Um fork é uma cópia de um repositório que permite que você faça mudanças no código de outra pessoa sem afetar o repositório original. Depois, você pode propor as suas mudanças através de um Pull Request.
  • Pull Requests: Pull requests são uma maneira de sugerir alterações em um repositório. Eles permitem que os mantenedores do projeto revisem e discutam as mudanças antes de integrá-las ao código principal.
  • Issues: Issues são ferramentas de rastreamento de bugs, solicitações de novas funcionalidades e discussões gerais relacionadas ao projeto.
  • Actions: GitHub Actions permite a automação de fluxos de trabalho, como integração contínua e entrega contínua (CI/CD), diretamente a partir do repositório
  • Wikis e Documentação: GitHub permite a criação de wikis para documentar projetos, o que é útil para fornecer guias de instalação, tutoriais e informações gerais sobre o projeto.
  • GitHub Pages: Uma funcionalidade que permite hospedar sites estáticos diretamente a partir de um repositório GitHub, geralmente usado para documentação ou páginas de portfólio.
  • Colaboração e Controle de Acesso: GitHub permite que equipes trabalhem juntas em projetos, com controles de acesso para gerenciar quem pode ver e modificar o código.

GitHub para a Comunidade de Desenvolvedores:

Além de suas funcionalidades técnicas, o GitHub também funciona como uma rede social para desenvolvedores. Ele facilita a descoberta de projetos de código aberto, contribuições para projetos de terceiros e o networking profissional. As contribuições para projetos no GitHub são frequentemente usadas como portfólio por desenvolvedores em suas carreiras.

Referências on-line

Em: <https://www.w3schools.com/git/default.asp?remote=github> Acessado em 8 ago. 2024

Em: <https://git-scm.com/book/en/v2> Acessado em 8 ago. 2024

Compartilhe
Comentários (0)