└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Como usar o Git e Github na prática 2 | 3 | ## Início do vídeo 4 | 5 | Oie gente sejam bem vindos a mais um vídeo aqui do canal, eu sou a Rafaella Ballerini e hoje eu vou mostrar pra vocês como utilizamos o GIT na prática 6 | 7 | No [vídeo anterior](https://www.youtube.com/watch?v=DqTITcMq68k) eu expliquei os conceitos de alguns termos técnicos que utilizamos quando estamos usando o git, então [nesse vídeo](https://www.youtube.com/watch?v=UBAX-13g8OM) vou mostrar na prática como isso acontece. 8 | 9 | ## Instalando o GIT 10 | 11 | * [Link com os downloads](https://git-scm.com/downloads) 12 | 13 | ## Criar um projeto novo 14 | 15 | * Criar uma nova pasta no PC pra isso chamada `Git Tutorial` 16 | 17 | * Abrir o VSCode nessa pasta 18 | 19 | * Criar um novo arquivo `README.md` 20 | 21 | * Escrever dentro dele `Olá, nesse projeto você aprenderá alguns comandos do Git` 22 | 23 | * Salva o arquivo 24 | 25 | Agora então é hora de usarmos o Git 26 | 27 | * Abre o Git Bash que foi instalado na máquina (pode ser pelo terminal do VSCode mesmo) 28 | 29 | * `git init` para inicializar o repositório 30 | 31 | Foi criada uma pastinha `.git` e é ali que toda a mágica acontece, então não apague 32 | 33 | * `git add README.md` para colocar o arquivo na área de stagging 34 | 35 | 36 | 37 | Esse `add` é necessário antes de darmos o commit de fato, mas por que isso? No final do vídeo explico para vocês 38 | 39 | * `git commit -m "primeiro commit"` para de fato dar o commit no repositório 40 | 41 | * `git branch -M "main"` para alterar o nome da branch principal de `master` para `main` (isso é uma boa prática atualmente recomendada) 42 | 43 | ## Interfaces Git 44 | 45 | Beleza, recebemos a confirmação de que o commit aconteceu, mas isso tá um pouco abstrato ainda né? 46 | Existem algumas [interfaces legais do git](https://git-scm.com/downloads/guis) que você pode fazer o download para poder visualizar de fato como está o projeto, o que foi alterado em cada commit, quando foi alterado etc. 47 | Aqui eu vou mostrar pra vocês a usarem direto no Github. 48 | 49 | ## Repositório no Github 50 | 51 | * Depois de você ter criado a sua conta na plataforma, você irá em `Criar novo repositório` 52 | 53 | Você vai preencher com as informações do projeto, então dar o nome do repositório, colocar uma breve descrição e criar 54 | 55 | 56 | 57 | Logo depois vai aparecer essa página um pouco cinza e confusa e com vários comandos (pode até perceber que alguns deles jpa usamos), mas o que você tem que fazer é bem simples, apenas copie o link que aparecer para você 58 | 59 | 60 | 61 | Lembra do conceito de `remote` que eu expliquei pra vocês no último vídeo? Nós iremos utilizá-lo agora 62 | 63 | * Para passar o commit do meu repositório local (da minha máquina) para um repositório na plataforma do Github, usamos o `git remote add origin ` 64 | 65 | * `origin` é o nome utilizado para referenciar o nosso repositório 66 | 67 | Agora já temos o nosso repositório local conectado com o respositório do Github, porém o `commit` que damos na máquina não sobe automaticamente para a plataforma 68 | 69 | * Para isso precisaremos empurrar, enviar para lá com o `git push -u origin main` 70 | 71 | Agora se recarregarmos a página iremos ver o nosso arquivo aqui na plataforma! 72 | 73 | ## Alterando e adicionando arquivo 74 | 75 | Beleza, agora que temos o nosso repositório no Github configurado direitinho, podemos usar e abusar do que o Git oferece, afinal é pra isso que estamos utilizando ele né? 76 | Primeira coisa que faremos então é alterar esse arquivo que já commitamos 77 | 78 | * Adiciona mais uma frase no arquivo `Essa é uma alteração` 79 | 80 | * Além disso iremos criar um novo arquivo `Projeto.md`, onde escreveremos `Esse é o arquivo onde desenvolverei o meu projeto` 81 | 82 | * Agora então precisamos subir essa alteração, pra isso seguiremos os mesmos passos de `git add .` (agora ponto `.` pois adiciona todos os arquivos) e `git commit -m "Primeira alteração"` 83 | 84 | * Lembrando que para alterar algo no nosso respositório do Github precisamos dar o push, então `git push origin main` (sem o -u) 85 | 86 | Se olharmos agora o nosso código no Github, ele terá sido alterado, e não só isso, se clicarmos no nome do `commit`, podemos ver exatamente as alterações que foram feitas nele. 87 | O verde com `+` e o vermelho com `-` mostra, os conteúdos que foram adicionados e editados dentro do código. 88 | Aqui nesse botão poderemos ver todos os commits já feitos anteriormente, então se clicarmos em algum deles, veremos exatamente o que havia sido alterado, além de claro, vermos o código como era. Incrível né? 89 | 90 | 91 | 92 | ## Branch 93 | 94 | Até agora tudo o que fizemos de alterações e mandamos de commit, foi na nossa `main`, que é aquela linha do tempo principal. 95 | Agora vou mostrar pra vocês como criamos uma branch e depois como que juntamos ela com o código que já está na `main` (lembrando que ela é uma linha cronológica adicional/alternativa a principal) 96 | E outra, a branch pode ser criada tanto para quando você for fazer uma alteração em um arquivo, quando para adicionar outro arquivo dentro do projeto ou mesmo excluir. 97 |
98 | Obs. *Lembrem que eu estou aqui editando um arquivo markdown, porém isso tudo vale para qualquer tipo de arquivo com qualquer extensão* 99 | 100 | * Nesse caso vamos adicionar um novo arquivo para desenvolver a nossa feature `Botão` 101 | 102 | * Então a primeira coisa que fazemos é `git checkout -b "novo-botao"`, assim criando uma branch para ele 103 | Esse comando além de criar a branch já entra nela com o checkout, inclusive se olharmos agora aqui no meu VSCode, estamos dentro dela. 104 | 105 | * Vou então criar o arquivo, criar o `botão.md` "aqui eu crio o botão" 106 | 107 | * E agora fazemos o passo a passo que já sabemos, colocamos a nossa alteração em stagging com o `git add .` e commitamos com o `git commit -m "novo botão"` 108 | 109 | * Para enviarmos agora que vai ser diferente. Vocês lembram que utilizávamos o `git push orgin main` né? Porém main era aquela branch principal. Agora então usaremos `git push origin botao` 110 | 111 | Agora se olharmos o nosso Github, veremos que tem 2 branches, a `main` e a `botao` 112 | 113 | 114 | 115 | Vamos supor que eu ainda não tivesse terminado de desenvolver o botão, eu poderia continuar tranquilamente na branch `botao` até terminar! 116 | 117 | Mas Rafa, e se eu precisasse por algum motivo voltar naquela branch `main` e desenvolver a partir do que deixei lá? Sem problemas, a única coisa que você precisa fazer nesse caso é `git checkout main`, e pra voltar depois é só `git checkout botao` novamente 118 | 119 | Beleza! Agora desenvolvi tudo o que queria aqui na branch `botao`, como que junto ela com a main sem problemas? 120 | 121 | ## Merge 122 | 123 | * Agora o que precisamos fazer é ir para a nossa branch principal `git checkout main` e lá faremos o merge com a branch `botao` que criamos, com `git merge botao` 124 | 125 | Pronto, agora tudo o que tinha de alteração na branch `botao` juntou com a `main` 126 | 127 | * Para finalizar então, vamos jogar lá no Github isso tudo com o `git push origin main` 128 | 129 | ## Clone 130 | 131 | Como vocês podem baixar meu código? 132 | 133 | Sempre que você entrar em um repositório, seja o seu ou o de qualquer outra pessoa, terá esse botão `Code`, que quando você clica aparece um link: 134 | 135 | 136 | 137 | * Você irá copiar esse link e levar ele lá pro nosso terminal 138 | 139 | * O comando para puxar o projeto para a sua máquina é o `git clone https://github.com/rafaballerini/GitTutorial.git` 140 | 141 | Não é necessário criar um repositório antes disso, como fizemos anteriormente com o `git init`. Dessa vez, basta abrir o terminal e clonar o projeto e tudo aparecerá! 142 | 143 | ## Pull 144 | 145 | E se eu fizer uma alteração no repositório, como vocês podem atualizar na máquina de vocês? 146 | 147 | * Basta vocês executarem o comando `git pull`, ele irá puxar todas as alterações feitas no repositório do Github para o seu repositório local 148 | 149 | ## Fork 150 | 151 | Mas Rafa quando eu fiz o clone do seu repositório ele não apareceu no meu Github. 152 | Existe a ferramenta `fork`, que é bem mais simples para fazer isso 153 | Você só precisa apertar nesse botão dentro do repositório e TCHANAM! Ele aparece automaticamente lá na sua conta: 154 | 155 | 156 | 157 | ## Pull request 158 | 159 | O último conceito que quero ensinar para vocês é o de Pull Request, vamos entender como ele funciona: 160 | 161 | * Após você ter dado um fork no projeto e ele ter ido pra sua conta, você poderá alterar o projeto e adicionar as funcionalidades que deseja 162 | 163 | * Você pode por exemplo dar um fork no meu repositório de `Formulário` para adicionar uma validação de campos ou qualquer outra coisa que acha válido 164 | 165 | * Depois disso, você poderá salvar o projeto, dar o `git add .`, `git commit -m "validação de botões"` e `git push origin main` 166 | 167 | Quando você for olhar o seu Github, verá que existe uma mensagem parecida com a seguinte: 168 | 169 | 170 | 171 | Isso significa que a branch do seu repositório está 1 commit "na frente" da branch original 172 | 173 | O que você deve perceber agora é esse botão que aparece em seguida: 174 | 175 | 176 | 177 | Ele servirá para caso você deseje enviar para o dono do repositório original uma solicitação de pull, ou seja, fazer com que ele puxe as alterações que você fez no seu repositório para o repositório dele, original 178 | 179 | Ao clicar nesse botão, você será direcionado para uma página que fará a avaliação se esse `pull request` terá conflitos ou não com o código no repositório original. Caso não tenha, bastão clicar no botão de `Create pull request` 180 | 181 | 182 | 183 | Você irá colocar um nome intuitivo, que demonstre a funcionalidade adicionada e o ideal é que você também crie uma boa descrição do que desenvolveu, não somente explicando o que é, mas ensinando ao dono do repositório original a forma como ele poderá testar também 184 | 185 | Depois disso, basta esperar para que o dono da branch original aceite o seu pull request 186 | 187 | ## Finalização 188 | 189 | Existem diversas outras funcionalidades do Git e do Github, porém tenho certeza que com tudo isso que vocês viram hoje vocês já conseguem desenvolver um projeto de uma forma bem legal 190 | 191 | Recomendo sempre vocês darem uma olhada na [documentação do Git](https://git-scm.com/doc), pois qualquer dúvida que apareça pode ser respondida por lá na explicação 192 | 193 | **Não esqueçam de deixar o like e se inscrever no [canal do Youtube](https://youtube.com/RafaellaBallerini) ❤** 194 | 195 | Até semana que vem, um beijo! 196 | --------------------------------------------------------------------------------