# GIT O git é uma ferramenta que foi criada para versionar seu trabalho, ajudando a ter um controle da sua aplicação. O git em sí funciona muito bem para criar te dar um controle das versões da sua aplicação, porem, tudo que ele faz fica salvo no seu computador. O git conta com diversas plataformas online chamadas de repositiorios como por exemplo o GitHub. Os repositorios salvam seu projeto em nuvem, facilitando o compartilhamento e a contribuição de outros desenvolvedores, fora isso, garante que seu projeto fique salvo na nuvem, evitando percas de arquivos ou ate mesmo do projeto inteiro. ## Em pratica Para começar a usar o git, antes de tudo você precisa ter ele baixado, para baixar basta usar o google e pesquisar GIT. Terminando ter instalado o mesmo, para verificar se está tudo OK, basta abrir o cmd e digitar `git --version` > ![](https://i.imgur.com/ENetwk4.png) > aparecendo a versão seguinifica que ta tudo belesinha :D ## Baixando o repositorio antes de tudo, entre na pagina que você quer clonar o projeto usando o cmd. para nevegar entre as pastas no CMD basta digitar o comando `cd "pasta"` > LIKE THIS > ![](https://i.imgur.com/vWavphG.png) > caso tenha duvida se a pasta exite, use o comando `dir` para listar as pastas > caso tenha interrese em aprender a mexer no cmd https://www.thomas-krenn.com/en/wiki/Cmd_commands_under_Windows lista de bastante comandos : D > não tenha medo de usar eles :> > se der ruim é so formatar o pc que ta suave Estando na pasta que você quer e tendo o git baixado basta usar o comando `git clone "LINK DO REPOSITORIO"` feito isso o agora é so codar : D como faço para mandar minhas alterações pro git?? `git status` Esse comando mostras suas alterações. `git add .` Esse comando adiciona tudo oque você fez para ser comitado. `git commit -am "MENSAGEM DO QUE VOCÊ FEZ"` Esse comando salva tudo que você modificou, o `-am` indica para o git pegar tudo que você adicionou usando o `.` como faço para atualizar meu repositorio? `git pull` para atualizar seu projeto antes de você subir ele. `git push` para mandar seu projeto pro repositorio > lista dos comandos com suas descrições > https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html ## Boas praticas NUNCA... **NUNCA** faça algo direto na branch master caso você esteja em um projeto com outras pessoa. Sempre crie uma branch `git checkout -b "nome da branch"`. #### oque é uma branch?? vamos se dizer que ela é uma copia perfeita do seu projeto, nela você pode fazer oque você quiser sem se preocupar em influenciar o funcionamento da versão original >< #### NOOSSA EU FIZ UMA ALTERAÇÃO NA MINHA BRANCH COMO EU FAÇO PARA MANDAR PRA VERSÃO ORIGINAL? basta comitar suas alterações usando o `git add .` `git commit -am "opa opa opa"` `git push --set-upstream origin "nome da sua branch"` `--set-upstream` serve para criar a branch no repositorio online caso ela não exista. e depois é muito simples basta usar o comando `git checkout "branch principal"` o checkout muda sua branch, > o -b que você viu acima serve na situação onde sua branch não exista e você queira fazer uma. `git merge "criando poutrona automatica"` feito isso é so dar um `git pull` e depois um `git push` > geralmente as branchs principais são "develop" "master" "main" #### GIT FLOW não irei entrar muito em detalhes mas é o seguinte... sempre que for fazer uma criação de alguma pagina/componente/cafe, crie ela em uma branch usando as seguintes nomeclaturas `feat/craindo-pagina-sei-oque` quando for fazer alguma correção use a `fix/colocando mais açucar no cafe` terminando seu trabalho basta commitar `git add .` `git commit -am "mais açcar no cafe"` `git push --set-upstream origin "fix/colocando mais açucar no cafe"` `git checkout "master"` `git merge "fix/colocando mais açucar no cafe"` `git pull` `git push` #### :O mas porque isso? isso serve para ter uma organização e vizualização do seu trabalho >< e tambem se vecê não gostou de como ficou a alteração basta você desalocar a sua branch : D eu não sei como faz isso por linha de comando então deixo vocês descobrirem por conta propria. > caso queria ver o gitflow mais afundo https://www.atlassian.com/br/git/tutorials/comparing-workflows/gitflow-workflow > tem uma quantidade absurda de texto, mas vale apena ler, é algo que a maioria das empresas exigem tal conhecimento. meu git https://github.com/andreixhz : D