Giter Site home page Giter Site logo

gitflow's Introduction

Git Flow

Material produzido após a conclusão do curso da Coleção de Habilidades Essenciais para todo desenvolvedor de software, disponível na plataforma da OneBitCode.

Guia Completo do Git e GitHub para Iniciantes

Introdução ao Git e GitHub

  • O que é Git? Git é um sistema de controle de versão distribuído que facilita o gerenciamento de mudanças no código-fonte ao longo do tempo. Ele permite revisar o histórico completo do projeto, reverter para qualquer versão anterior, e colaborar com outros desenvolvedores de forma eficiente.
  • O que é GitHub? GitHub é uma plataforma de hospedagem que utiliza o Git para controle de versão. Além de armazenar projetos, facilita a visualização de alterações e a colaboração entre usuários. GitHub é essencial para desenvolvedores que desejam expor seus projetos e colaborar com outros globalmente.

Configuração inicial

Instalando o Git

Verifique se o Git está instalado usando git --version. Se não estiver, você pode baixá-lo e instalar a partir do site oficial do Git.

Configurando seu usuário no Git

Configure seu nome de usuário e e-mail que serão usados em seus commits:

git config --global user.name "Seu Nome"
git config --global user.email "[email protected]"

Verifique as configurações com git config --list para confirmar as alterações.

Trabalhando com repositórios

Criando um repositório local

Crie uma nova pasta e inicialize um repositório Git:

mkdir meu_projeto
cd meu_projeto
git init

Isso cria uma pasta .git que contém todos os dados necessários do repositório.

Clonando um repositório remoto

Para copiar um repositório existente, use: git clone [URL_do_Repositório].

Isso cria uma cópia local do repositório, incluindo todo o histórico de commits.

Fluxo de trabalho básico com Git

Adicionando e commitando alterações

Após modificar arquivos, adicione-os à área de preparação (staging area): git add [nome_do_arquivo].

Faça o commit das alterações: git commit -m "Descrição do que foi alterado".

Os commits salvam um snapshot do estado atual dos arquivos preparados.

Atualizando e baixando mudanças

Para baixar atualizações do repositório remoto e mesclar com seu trabalho local, use: git pull origin [nome_da_branch].

O git pull é essencial para manter seu repositório local sincronizado com o remoto.

Gerenciamento de Branches e Merges

Criando e alterando Branches

Crie uma nova branch com: git branch [nome_da_branch].

Mude para a nova branch com: git checkout [nome_da_branch].

Branches permitem desenvolver em paralelo sem afetar a linha principal (main/master).

Merges

Para mesclar mudanças de uma branch para outra: git merge [nome_da_branch].

Merges podem resultar em conflitos que precisam ser manualmente resolvidos antes de completar o merge.

Colaboração eficiente: Pull Requests e Forks

Contribuição com Projetos

Forks criam uma cópia pessoal do projeto no seu GitHub, permitindo que você proponha mudanças via Pull Requests.

Após fazer mudanças em um fork, você pode enviar um Pull Request para o repositório original, sugerindo suas alterações.

Resolvendo conflitos e usando o git pull

Durante um git pull ou um merge, conflitos podem surgir quando o mesmo arquivo é alterado por duas pessoas diferentes. O Git pausará o processo e pedirá que você resolva esses conflitos manualmente. Usar git status pode ajudar a identificar e resolver esses conflitos.

Avançando: Rebase e Manipulação de Histórico

Rebase

O git rebase é uma alternativa ao merge que reescreve o histórico de commits, realinhando os commits de uma branch sobre outra. Isso pode ajudar a manter um histórico de commits mais limpo e linear.

Manipulando Histórico e Tags:

Use git tag para marcar releases específicos ou pontos importantes no histórico do projeto. Tags ajudam a identificar versões estáveis ou pontos de release.

🛠 Language and tools

vscode logo git logo github logo

🔥 My Stats :

streak graph

gitflow's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.