GithubHelp home page GithubHelp logo

aula-10-12's Introduction

#Utilizando Branchs

##Neste "capitulo" veremos alguns comandos para utilizarmos branchs, como acontece no dia a dia em uma empresa de tecnologia.


###O que são branchs?

Imagine uma árvore, o tronco (versão mais sólida) e seus galhos (ramificações) contem as mesmas propriedades da arvore, porém os seus galhos se modificam mais facilmente que o seu tronco, que demora mais para uma mudança percepitível.

Quando criamos um projeto e clonamos ou iniciamos o git em nosso workspace um branch "master" é criado por default, imagine que esse é o tronco da árvore e contém o nosso projeto. Agora, imagine que nossos programadores vão trabalhar em outras frentes desse projeto, seja alguma melhoria ou nova funcionalidade. O que seria bagunçado se todos os programadores utilizassem a versão estável que está em funcionamento na nossa master e testassem todos de uma vez... Então, seria mais prático que utilizassemos "cópias" do projeto, mas que fossem "filhas" ou seja, dependentes do nosso master ( o tronco da arvore, lembra? ). Um branch, contem exatamente o que existe dentro do master (sua origem) porém, podemos modifica-lo avontade e depois, no final dos testes basta fazer um merge com o master (se ele é dependente da master, ao fazer o merge, estamos pegando tudo que foi modificado e está testado e estável e colocando junto ao master que é nossa versão principal!


###Como utilizar os branchs?

Depois de entendermos que ao criar nossos repositórios estamos na nossa default (master) e que vamos criar os branchs a partir dela, basta utilizar o comando de criação:

git branch NomeDaBranch

Assim, tudo o que está na nossa master estará também contido na nossa branch nova! Para verificar se tudo deu certo, basta utilizarmos o comando:

git branch

E todas as branchs serão listadas, note que teremos um asterisco na branch master, isso significa que estamos na branch master e não na branch nova que criamos.

lembre-se, criar uma branch não significa que o git ira mudar automaticamente para ela

Então como começamos a trabalhar na nossa branch nova? Para mudarmos de branch, utilizamos o comando checkout

git checkout NomeDaBranch

Novamente, utilize o git branch, verá o asterisco agora na branch nova!


###Commitar na branch e git merge

Após trabalharmos na nossa branch nova, vamos querer "subir" as atualizações para o nosso github certo?

Basta utilizarmos o add ., commit -m e push normalmente, com apenas uma diferença...

Para o push, vamos utilizar o:

git push origin(remote que estamos utilizando) NomeDaBranch

Verifique se deu certo, ao finalizarmos os trabalhos e subirmos para o github, vamos dar um merge na master para que fique tudo emparelhado (master e branch), para isso, utilizamos o comando:

git merge NomeDaBranch

As branchs serão "mergeadas"


###Git Rebase

Com o git rebase, nos equalizamos as branchs, colocando-as no mesmo nível

O rebase transporta os commits de uma branch atualizada para uma branch desatualizada, onde o conteúdo da branch desatualizada ou já está na branch atualizada ou não pode ser mergeado ainda.

Para isso utlizamos o comando:

git rebase master (a partir da branch que vc quer nivelar)


###Verificando se tudo está no mesmo nível.

O github conta com uma ajuda gráfica que nos mostra em qual nível estão as coisas, para verificarmos isso:

Entrar no repositório no github > Graphs > network

aula-10-12's People

Contributors

fsalencar avatar

Stargazers

 avatar

Watchers

James Cloos avatar Pedro 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.