image

Bootcamps ilimitados + curso de inglés para sempre

80
%OFF
Article image
Lucas Kapp
Lucas Kapp09/04/2025 14:35
Compartir
Microsoft Certification Challenge #3 DP-100Recomendado para tiMicrosoft Certification Challenge #3 DP-100

Git e GitHub: Melhores Locais para Versionamento e Postagem de Código

    > Introdução

    O Git revolucionou o desenvolvimento de software com seu sistema de versionamento de código distribuído. Entre seus recursos mais poderosos estão as branches (linhas do tempo), que permitem trabalhar em opções isoladas sem afetar o código principal. Neste artigo, você aprenderá como usar branches e merge de forma eficiente, além de entender o que é git e github e como cada um deles funciona, habilidades essenciais para qualquer desenvolvedor.

    > Como começar a usar o GIT

    O Git é um sistema de controle de versão distribuído, criado por Linus Torvalds em 2005, com o objetivo de gerenciar o desenvolvimento do kernel do Linux. Ele permite que desenvolvedores acompanhem, controlem e colaborem nas mudanças feitas no código-fonte ao longo do tempo. Com o Git, é possível registrar o histórico de alterações, trabalhar em diferentes versões de um projeto simultaneamente e restaurar estados anteriores com facilidade, tornando o processo de desenvolvimento mais seguro, organizado e colaborativo.

    - Comandos Básicos do Git 

    git init: inicia um novo repositório Git
    git add: adiciona alterações para serem incluídas no próximo commit
    git commit: registra as mudanças no repositório
    git status: mostra o estado atual do repositório
    git log: exibe o histórico de commits
    git push: envia as mudanças para um repositório remoto
    git pull: obtém mudanças do repositório remoto para o repositório local
    git branch: cria, lista ou exclui ramificações
    git merge: combina alterações de diferentes ramificações.
    

    Processo de instalação do GIT

    Para melhor entendimento e compreensão desse conteúdo, segue um link abaixo, o qual contem todo o procedimento para a instalação do GIT, como também uma aula sobre o versionamento dos códigos em geral com a tutora Elidiana Andrade.

    link DIO: https://web.dio.me/course/versionamento-de-codigo-com-git-e-github/learning/f3cbaa66-efbd-4c25-842e-2069c188c066?autoplay=1

    > Branches no Git: O que são? Pra que servem?

    Branches são um recurso muito importante no controle de versões de código, especialmente em sistemas como o Git. Elas funcionam como “linhas paralelas de desenvolvimento”. Imagine que você está trabalhando em um projeto e, ao invés de mexer direto no código principal (geralmente chamado de "main" ou "master"), você cria uma cópia separada desse código (utilizando o comando git branch ou git checkout -b ou git switch -c) para fazer modificações. Essa cópia é o que chamamos de branch.

    O comando git branch permite criar, listar, renomear e excluir ramificações. Ele não permite alternar entre as ramificações ou reunir um histórico bifurcado de novo. Por esse motivo, o comando git branch é muito integrado aos comandos git checkout e git merge.

    Com ele você pode:

    • Isolar mudanças experimentais.
    • Trabalhar em múltiplas tarefas simultaneamente.
    • Evitar conflitos diretos no código principal (main ou master).

    > GIT vs. GitHub: Qual a Diferença?

    Falando um pouco sobre o github:

    Fundado em 2008, o GitHub revolucionou a forma como desenvolvedores trabalham, tornando-se o maior serviço de hospedagem de código-fonte baseado em nuvem. Muito mais que um simples repositório, ele é um ecossistema completo para controle de versão, colaboração em equipe e automação de fluxos de trabalho, tudo integrado ao Git, o sistema de versionamento mais usado no mundo.

    Uma das principais utilidades do github são:

    1. Hospedagem de Código

    • Armazenamento ilimitado de repositórios públicos (privados em planos pagos)

    Um pegueno exemplo de como os commits ou repositórios funcionam:

    image

    image

    image

    2. Controle de Versão Avançado

    • Visualização de diferenças entre commits (git diff)
    • Revert de alterações indesejadas
    • Branch protection (proteção de branches principais)

    3. Colaboração em Equipe

    •  solicitações de merge com revisão de código
    • comentários em trechos específicos
    • atribuição de tarefas a membros

    4. Gerenciamento de Projetos

    • quadros Kanban integrados
    • marcos de desenvolvimento
    • classificação de issues. Dentre muitas outras funções...

    Falando um pouco sobre o git:

    Como dito anteriormente, o git é um sistema o qual controla versões de códigos distribuídos, normalmente usado localmente em sua maquina e usada para desenvolvimento de software

    Uma das principais utilidades do git são:

    1. Repositórios:
    • São como um contêiners que guardam todos os arquivos de um projeto, junto com o histórico completo de alterações feitas ao longo do tempo.
    1. Commits:
    • O termo commit pode ser entendido como o ato de registrar uma alteração no projeto, salvando oficialmente essa modificação no histórico para que ela faça parte da evolução do código.
    1. Árvore:
    • Por fim, as árvores representam a forma como os arquivos e pastas estão organizados em um determinado commit, servindo para registrar a estrutura do projeto em cada ponto da sua evolução.

    > Boas práticas de organização para repositórios GIT

    1. Mantenha uma estrutura de pastas limpa

    • Organize seu projeto em pastas bem nomeadas, como src/, docs/, tests/, assets/ etc.
    • Evite arquivos soltos e nomes genéricos como teste1, final_v2_bom. Quanto mais claro, melhor.

    2. Crie um bom README.md

    O README.md é a porta de entrada do repositório. Ele deve explicar:

    • O que o projeto faz
    • Como instalar e rodar
    • Tecnologias usadas
    • Autoria e licenciamento

    Ajuda novos colaboradores (ou até você no futuro) a entenderem o projeto rápido.

    3. Use branches para separar tarefas

    • Evite trabalhar direto na branch principal (main ou master).
    • Use branches para desenvolver novas funcionalidades, corrigir bugs, ou testar coisas novas.

    Exemplo: feature/login, bugfix/menu-responsivo, hotfix/api-erro.

    4. Use o .gitignore corretamente

    Crie um arquivo .gitignore para ignorar arquivos desnecessários no versionamento, como:

    • Arquivos temporários (.log, .tmp)
    • Pastas de build (/dist, /build)
    • Dependências (/node_modules, /.venv)
    • Arquivos de configuração pessoais

    5. Colabore com Pull Requests e revisões (se estiver no GitHub/GitLab)

    Se estiver trabalhando em equipe:

    • Faça pull requests para sugerir mudanças
    • Revise o código de colegas antes de aceitar mudanças
    • Use comentários para explicar decisões

    Conclusão

    O Git e o GitHub são ferramentas essenciais no universo do desenvolvimento de software moderno, cada uma com seu papel fundamental. O Git, criado por Linus Torvalds, é um poderoso sistema de controle de versão distribuído, que permite aos desenvolvedores acompanhar e registrar todas as mudanças em um projeto de forma local e segura. Ele possibilita trabalhar com versões diferentes do código, criar branches para testar novas funcionalidades e voltar no tempo caso algo dê errado — tudo isso sem precisar de internet.

    Já o GitHub é uma plataforma online que utiliza o Git por trás, mas oferece uma interface gráfica e recursos colaborativos, como pull requests, revisão de código, issues e muito mais. Ele permite que desenvolvedores compartilhem seus projetos com o mundo, colaborem em equipe e gerenciem o desenvolvimento de forma organizada na nuvem.

    Entender a diferença entre Git e GitHub é essencial: enquanto o Git gerencia as versões, o GitHub facilita o compartilhamento e a colaboração. Além disso, adotar boas práticas de organização em repositórios, como manter um README.md claro, usar mensagens de commit descritivas, criar branches específicas para cada tarefa e utilizar corretamente o .gitignore, garante que o projeto se mantenha limpo, compreensível e fácil de manter ao longo do tempo.

    Portanto, dominar essas ferramentas e práticas não só melhora a produtividade individual, como também facilita a integração com outros desenvolvedores, contribuindo para projetos mais eficientes, seguros e bem estruturados.

    Referências

    • https://www.hostgator.com.br/blog/o-que-e-git-tutorial-para-iniciantes/?gad_source=1&gclid=CjwKCAjwktO_BhBrEiwAV70jXnl5xWHInZWR-MWF2u78Ap4HzdT3cl_vE7sdo4dpzcVTCtVHRSSguBoCF_IQAvD_BwE
    • https://web.dio.me/course/versionamento-de-codigo-com-git-e-github/learning/f3cbaa66-efbd-4c25-842e-2069c188c066?autoplay=1
    • https://www.hostgator.com.br/blog/github-compartilhamento-de-projetos/?gad_source=1&gclid=CjwKCAjwktO_BhBrEiwAV70jXmIq_Cdd5er--3dNCMOKRTB88c1SZWCj3ngF4EQBjw85dbJL-CahIRoCpSgQAvD_BwE
    • https://www.brasilcode.com.br/git-e-github-um-guia-basico-iniciantes/ banner imagem
    • https://www.alura.com.br/artigos/o-que-e-git-github#:~:text=O%20Github%20é%20uma%20“rede,está%20sendo%20monitorado%20por%20ele.
    • https://git-scm.com/doc
    • https://www.atlassian.com/git/tutorials/comparing-workflows
    • https://docs.github.com/en
    • https://www.toptal.com/developers/gitignore
    • https://semver.org/lang/pt-BR/
    Compartir
    Recomendado para ti
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Microsoft 50 Anos - Computação em Nuvem com Azure
    Comentarios (3)
    Jonas Silva
    Jonas Silva - 11/04/2025 01:47

    Dominando o GIT: Do Primeiro Commit às Boas Práticas no Mundo Dev


    No universo do desenvolvimento de software, o GIT é muito mais que uma ferramenta – é um aliado indispensável. Com ele, podemos versionar código, colaborar em equipe e manter o controle da nossa evolução como devs. Neste artigo, vou te guiar desde os primeiros passos até práticas mais maduras com Git, incluindo branches, merge, GitHub e organização de repositórios.

    🟢 1. Como começar a usar o GIT

    O que é GIT?

    Git é um sistema de controle de versão distribuído. Ele permite que várias pessoas trabalhem no mesmo projeto sem conflitos, armazenando cada alteração feita no código.

    Instalação do Git

    Você pode instalar o Git no site oficial. Após a instalação, configure seu usuário:

    bash
    CopiarEditar
    git config --global user.name "Jonas Rodrigues"
    git config --global user.email "mexylemphotos@gmail.com"
    

    Comandos básicos

    bash
    CopiarEditar
    git init        # Inicia um repositório Git
    git status      # Mostra o status dos arquivos
    git add .       # Adiciona todos os arquivos para commit
    git commit -m "mensagem"  # Cria um snapshot
    git log         # Histórico de commits
    

    🌿 2. Como usar branches e merge no GIT

    Por que usar branches?

    Branches permitem criar linhas paralelas de desenvolvimento. Assim, você pode trabalhar em uma nova funcionalidade sem afetar o código principal.

    Comandos úteis

    bash
    CopiarEditar
    git branch jonas-feature-login       # Cria uma branch chamada jonas-feature-login
    git checkout jonas-feature-login     # Muda para essa branch
    git switch jonas-feature-login       # Alternativa moderna ao checkout
    

    Merge: unindo mudanças

    Depois de trabalhar numa branch, você pode uni-la à principal com:

    bash
    CopiarEditar
    git checkout main
    git merge jonas-feature-login
    

    Se houver conflitos, o Git te avisa e você resolve manualmente nos arquivos.

    3. GIT vs. GitHub

    • GIT é a ferramenta de versionamento usada localmente.
    • GitHub é uma plataforma online que hospeda repositórios Git e facilita a colaboração.

    Subindo um projeto para o GitHub

    bash
    CopiarEditar
    git remote add origin https://github.com/jonasrodrigs/seu-repositorio.git
    git push -u origin main
    

    Funcionalidades do GitHub:

    • Pull Requests
    • Issues
    • Wiki
    • GitHub Actions (para CI/CD)

    4. Boas práticas de organização para repositórios GIT

    • Commits semânticos: Use mensagens claras e objetivas.
    bash
    CopiarEditar
    git commit -m "feat: adiciona componente de contato no portfólio"
    
    • .gitignore: Evite subir arquivos desnecessários. Exemplo de .gitignore para projetos Node.js:
    bash
    CopiarEditar
    node_modules/
    .env
    dist/
    
    • README.md: Documente seu projeto com instruções de uso, instalação e tecnologias.
    • Padronização de branches:
    • main: código estável.
    • develop: onde as features se juntam antes de ir pra main.
    • feature/jonas-cadastro, hotfix/jonas-ajuste-menu: para organizar melhor o fluxo.

    Conclusão

    Git não é apenas uma ferramenta técnica, é parte da cultura de desenvolvimento. Dominar seus conceitos te torna um profissional mais preparado para qualquer projeto. Se você está começando agora, pratique bastante. E se já usa, refine seus processos com boas práticas.

    Com o tempo, Git se torna mais que um comando no terminal — vira um aliado silencioso que te protege e te ajuda a evoluir como desenvolvedor.

    Lucas Kapp
    Lucas Kapp - 09/04/2025 17:48

    @DIO Community

    Bom, com base em informações e notícias pela internet, na minha opinião a melhor estratégia de branching para equipes ágeis com foco em entregas contínuas é o GitHub Flow (ou algo próximo dele) que é uma forma simples e eficiente de gerenciar o desenvolvimento de software. Seu foco é garantir que a branch principal (geralmente main) esteja sempre estável e que novas funcionalidades ou correções sejam desenvolvidas em branches separadas, revisadas e testadas antes de serem integradas ao código final.. É a estratégia mais eficaz de branching, por ser simples, colaborativa e alinhada com a filosofia de agilidade e CI/CD.

    DIO Community
    DIO Community - 09/04/2025 16:32

    Lucas, o seu artigo sobre Git e GitHub ficou excelente! A explicação clara sobre como as branches permitem trabalhar em funcionalidades separadas sem interferir no código principal foi uma ótima introdução ao tema. Além disso, a diferenciação entre Git e GitHub é um ponto fundamental para iniciantes, e você conseguiu explicar de forma muito acessível.

    Na DIO, sempre destacamos a importância de boas práticas de versionamento, especialmente em projetos colaborativos, e como o uso do Git e do GitHub é essencial para facilitar a organização e a produtividade. Incentivamos os alunos a explorarem mais sobre essas ferramentas para que possam desenvolver projetos de forma eficiente e colaborativa.

    Gostaria de saber sua opinião: qual estratégia de branching você acredita ser a mais eficaz para equipes ágeis e que trabalham com entregas contínuas?

    Recomendado para tiMicrosoft Certification Challenge #3 DP-100