|
1 |
| -# O que é git |
2 |
| -* Git é um sistema de versionamento (controle de versões) de arquivos de código aberto. |
3 |
| -* O git é usado principalmente no desenvolvimento web porém pode ser usado para o controle e registro do histórico de edições de qualaquer arquivo. |
4 |
| -* O git também ajuda a controlar o fluxo de modificações como novas funcionalidades, ajustes, solução de problemas e etc. |
5 |
| -* O git permite que vários desenvolvedores possam editar coisas no mesmo projeto, facilitando trabalhos em equipe. |
6 |
| -* O git permite que você tenha maior segurança de seus projetos, podendo voltar para outras versões caso encontre algum problema em uma modificação. |
7 |
| - |
8 |
| -### Como instalar o git |
9 |
| -* Caso seu sistema operacional seja o windows, basta instalar o executável neste <a href="https://git-scm.com/download/win">link</a>. |
10 |
| -* Caso seu sistema seja Unix/Linux, basta ver a instalação para sua distro clicando neste <a href="https://git-scm.com/download/linux">link</a>. |
11 |
| -* Caso seu sistema seja MacOs, você precisará do gerenciador de pacotes "brew", para instalar o brew basta clicar neste <a href="https://brew.sh/">link</a>. Após instalar o brew poderá instalar o git clicando neste <a href="https://git-scm.com/download/mac">link</a>. |
12 |
| -## Funcionamento do git |
13 |
| -* Para que seus projetos não fiquem de uma forma fixa em uma única linha cronológica e fique mais organizado, utilizamos as ramificações que podemos fazer a partir da linha principal para podermos mudar nosso código de uma forma que tenha uma organização e seleção melhor do que vamos enviar para a linha de produção. Esta linha cronológica é chamada de Branch, a linha principal é a chamada master e você pode utilizar o nome que quiser para organizar as novas linhas cronológicas. Para criarmos uma branch Updates por exemplo, utilizaríamos o comando: ```git branch Updates ```<br> |
14 |
| -Exemplo: |
15 |
| - ``` |
16 |
| - Updates |
17 |
| - / |
18 |
| - master |
19 |
| - ``` |
20 |
| - Aqui temos uma representação de duas Branch's, a principal (master) e uma secundária (Updates). |
21 |
| -<br> |
22 |
| - |
23 |
| -* O que permite enviarmos as modificações para nossa Branch é chamado de commit, o commit é uma forma de publicar suas modificações e atualizações do projeto. Cada commit deve ter um comentário para manter a organização de suas modificações. |
24 |
| -Exemplo de como faríamos esses commits: |
25 |
| - |
26 |
| - ``` |
27 |
| - git commit -m "A" |
28 |
| - git commit -m "B" |
29 |
| - git commit -m "C" |
30 |
| - git commit -m "D" |
31 |
| - git commit -m "E" |
32 |
| - git commit -m "F" |
33 |
| - git commit -m "G" |
34 |
| - |
35 |
| - OBS: (Já mostraremos como enviaríamos os commits para a branch Updates e master, mas fique com o exemplo ilustrativo.) |
36 |
| - ``` |
37 |
| - |
38 |
| - Exemplo de como ficaria: |
39 |
| - |
40 |
| - A---B---C Updates |
41 |
| - / |
42 |
| - D---E---F---G master |
43 |
| - |
44 |
| - Se você entendeu como é o funcionamento das Branch's e dos Commit's já viu o que fizemos. Neste caso adicionamos um commit para a Branch Updates e mais 2 commit's para a branch master. |
45 |
| -<br> |
46 |
| - |
47 |
| -* O merge é a ação que vai juntar o seu commit de uma outra branch para sua Branch principal, seja a master ou qualquer outra que você criar. |
48 |
| -Exemplo: |
49 |
| - ``` |
50 |
| - A---B---C Updates |
51 |
| - / |
52 |
| - D---E---F---G master |
53 |
| - ``` |
54 |
| - Pegando este exemplo novamente, utilizariamos o merge na linha cronológica secundária(updates) para aplicar todas essas modificações para a linha cronológica principal (master). Utilizando o comando : ``` git merge Updates``` |
55 |
| - Exemplo do resultado: |
56 |
| - ``` |
57 |
| - A---B---C Updates |
58 |
| - / \ |
59 |
| - D---E---F---G---H master |
60 |
| - ``` |
61 |
| -<br> |
62 |
| - |
63 |
| -* Para conectar o git ao Github (ferramenta que falaremos logo em seguida), precisamos de um remote. O remote permite que o repositório local na sua máquina possa ser publicado em alguma plataforma, no caso falaremos do GitHub. Normalmente usado com um link do seu repositório no Github. |
64 |
| -Exemplo: |
65 |
| - ``` git remote add origin https://github.com/Seu_Usuário/repositório.git ``` |
66 |
| -<br> |
67 |
| - |
68 |
| -* Para você publicar de vez no seu GitHub pelo remote, utilizaremos o git push. O push vai enviar todas suas modificações (commits) para seu repositório externo (no caso o GitHub). |
69 |
| -Exemplo: |
70 |
| - ``` |
71 |
| - git push origin master |
72 |
| - ou |
73 |
| - git push Updates |
74 |
| - ``` |
75 |
| -* Para você verificar modificações do repositório externo e poder atualizar seu projeto, usaremos o git pull. O git pull verificará as mudanças no repositório externo e aplicará as mudanças em seu repositório local. Exemplo: ```git pull```. |
76 |
| - |
77 |
| - Digamos que seu repositório externo esteja assim: |
78 |
| - ``` |
79 |
| - A---B---C Updates |
80 |
| - / \ |
81 |
| - D---E---F---G---H---I master |
82 |
| - ``` |
83 |
| - |
84 |
| - E o seu repositório local esteja assim: |
85 |
| - ``` |
86 |
| - A---B---C Updates |
87 |
| - / \ |
88 |
| - D---E---F---G---H master |
89 |
| - ``` |
90 |
| - |
91 |
| - Após utilizar o ```git pull``` o seu repositório local ficaria assim: |
92 |
| - ``` |
93 |
| - A---B---C Updates |
94 |
| - / \ |
95 |
| - D---E---F---G---H---I master |
96 |
| - ``` |
97 |
| ---- |
98 |
| - |
99 |
| -# O que é GitHub |
100 |
| -* O GitHub é um serviço que hospeda projetos pelo sistema de versionamento Git. |
101 |
| -* No GitHub, podemos hospedar nossos projetos de uma forma que outros desenvolvedores possam contribuir e permite que mais desenvolvedores colaborem e façam mudanças no mesmo projeto, mantendo a segurança com um registro de todo o progresso. |
102 |
| -* O GitHub pode ser utilizado como portfólio, a maioria das empresas vão querer o GitHub do desenvolvedor para olhar os projetos que ele desenvolveu, contribuiu, o que ele sabe fazer, qual a frequência de desenvolvimento e etc... |
103 |
| - |
104 |
| ---- |
105 |
| -# Resumo |
106 |
| -* O Git é uma ferramenta que vai permitir diversos desenvolvedores trabalharem no mesmo projeto, mantendo uma segurança e controle de todas as versões. |
107 |
| -* O GitHub é uma plataforma que hospedará os projetos do git, de uma forma que diversos desenvolvedores possam publicar suas alterações e também permitindo que mais desenvolvedores contribuam com o projeto de uma maneira segura e com controle detalhado de cada alteração. |
108 |
| - |
109 |
| -### Criando um repositório do zero e publicando no GitHub |
110 |
| - |
111 |
| -* Primeiro criaremos uma pasta para servir de repositório local. |
112 |
| -* Agora vamos criar um repositório externo la no github. Basta acessar seu perfil e seguir os passos das imagens seguintes. |
113 |
| - |
114 |
| - <img src="https://i.imgur.com/8x2GWNX.png"> |
115 |
| - <img src="https://i.imgur.com/BYeHVfh.png"><br> |
116 |
| - Se tudo der certo, deve carregar esta página: |
117 |
| - <img src="https://i.imgur.com/H4KHKVT.png"><br> |
118 |
| - OBS: Preste atenção no nome que você colocar, pois quando usarmos o git remote, deve colocar o nome no lugar de onde coloquei test! |
119 |
| - |
120 |
| -#### [IMPORTANTE!] Caso esteja no windows, abra o git terminal que foi instalado e continue o tutorial, caso esteja no Mac ou linux, basta fazer o tutorial no terminal padrão. |
121 |
| - |
122 |
| -* Agora criaremos um arquivo README em nossa pasta local, que servirá para apresentar o seu projeto, como rodar, e etc... (Este artigo que você está lendo agora é um README). Podemos criar pelo próprio terminal com o comando:<br> ```echo "# exemplo" >> README.md```<br> |
123 |
| -* Após criar o primeiro arquivo, iniciaremos o repositório, com o comando:<br> ```git init ```<br> |
124 |
| -* Após iniciar o repositório poderemos adicionar o README ao repositório, com o comando: <br>```git add README.md ```<br> |
125 |
| -* Agora podemos fazer o commit de nossas mudanças com o comando: <br>```git commit -m "Nosso primeiro commit" ```.<br> |
126 |
| -* Vamos adicionar agora uma branch nova para usar como Updates, assim como no nosso exemplo, com o comando: <br>```git branch updates```<br> |
127 |
| -* Chegou a hora de fazer o remote para conectar ao GitHub, utilizando o comando:<br> ```git remote add origin https://github.com/Seu_Usuário/test.git```<br> |
128 |
| -* Para publicaremos em nossa branch master, utilizaremos o comando: <br>```git push origin master```<br> |
129 |
| -* Agora para finalizar, faremos o push do último arquivo, então vamos criar com o comando <br>```echo "print('Olá mundo')" >> app.py```<br> adicionaremos ao repositório na branch updates com:<br> ```git checkout updates```, ```git add app.py``` ```git commit -m add app.py``` ```git push origin updates```.<br> Então poderemos fazer o merge para a branch master com (ele ficará disponível em pull requests até que aceite ou de o git push do final do tutorial):<br> ```git checkout master``` ```git merge updates```<br>e para finalizar:<br> ```git push origin master``` <br> |
130 |
| - |
131 |
| -### Passos ilustrados (linux) |
132 |
| -<img src="https://i.imgur.com/wE31Vr2.png"> |
133 |
| -<img src="https://i.imgur.com/Om6JvZ0.png"> |
| 1 | +# Roteiro - Como usar o Git e Github |
| 2 | +Roteiro para o vídeo no Youtube de como utilizar o git na prática |
| 3 | + |
| 4 | +## Início do vídeo |
| 5 | + |
| 6 | +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 |
| 7 | + |
| 8 | +No vídeo anterior eu expliquei os conceitos de alguns termos técnicos que utilizamos quando estamos usando o git (aponta p caixinha), então nesse vídeo vou mostrar na prática como isso acontece |
| 9 | + |
| 10 | +## Instalando o GIT |
| 11 | + |
| 12 | +* [Link com os downloads](https://git-scm.com/downloads) |
| 13 | + |
| 14 | +## Criar um projeto novo |
| 15 | + |
| 16 | +* Criar uma nova pasta no PC pra isso chamada `Git Tutorial` |
| 17 | + |
| 18 | +* Abrir o VSCode nessa pasta |
| 19 | + |
| 20 | +* Criar um novo arquivo `README.md` |
| 21 | + |
| 22 | +* Explicar o que é Markdown e a importância de usarmos um ReadMe |
| 23 | +* Escrever dentro dele `Olá, nesse projeto você aprenderá alguns comandos do Git` |
| 24 | + |
| 25 | +* Salva o arquivo |
| 26 | + |
| 27 | +* Agora então é hora de usarmos o Git |
| 28 | + |
| 29 | +* Abre o Git Bash que foi instalado na máquina (pode ser pelo terminal do VSCode mesmo) |
| 30 | + |
| 31 | +* `git init` para inicializar o repositório |
| 32 | + |
| 33 | +* Foi criada uma pastinha `.git` e é ali que toda a mágica acontece, então não apague |
| 34 | + |
| 35 | +* `git add README.md` para colocar o arquivo na área de stagging |
| 36 | + |
| 37 | +<img src="https://i1.wp.com/www.markus-gattol.name/misc/mm/si/content/git_git_add.png"> |
| 38 | + |
| 39 | +* Esse add é necessário antes de darmos o commit de fato, mas por que isso? No final do vídeo explico para vocês |
| 40 | + |
| 41 | +* `git commit -m "primeiro commit"` para de fato dar o commit no repositório |
| 42 | + |
| 43 | +* `git branch -M "main"` para alterar o nome da branch principal de `master` para `main` (isso é uma boa prática atualmente recomendada) |
| 44 | + |
| 45 | +## Interfaces Git |
| 46 | + |
| 47 | +* Beleza, recebemos a confirmação de que o commit aconteceu, mas isso tá um pouco abstrato ainda né? |
| 48 | + |
| 49 | +* Existem algumas interfaces legais do git 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. |
| 50 | + |
| 51 | +* Aqui eu vou mostrar pra vocês a usarem direto o Github, então vamos lá |
| 52 | + |
| 53 | +## Repositório no Github |
| 54 | + |
| 55 | +* Depois de você ter criado a sua conta na plataforma, você irá em `Criar novo repositório` |
| 56 | + |
| 57 | +* Você vai preencher com as informações do projeto, então dar o nome do repositório, colocar uma breve descrição e criar |
| 58 | + |
| 59 | +<img src="https://media.discordapp.net/attachments/831974152667398214/836828773067915274/unknown.png"> |
| 60 | + |
| 61 | +* 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ê |
| 62 | + |
| 63 | +<img src="https://media.discordapp.net/attachments/831974152667398214/836828905859186708/unknown.png?width=1440&height=141"> |
| 64 | + |
| 65 | +* Lembra do conceito de remote que eu expliquei pra vocês no último vídeo? Nós iremos utilizá-lo agora |
| 66 | + |
| 67 | +* 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 <link do repositório>` |
| 68 | + |
| 69 | +* `origin` é o nome utilizado para referenciar o nosso repositório |
| 70 | + |
| 71 | +* 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 |
| 72 | + |
| 73 | +* Para isso precisaremos empurrar, enviar para lá com o `git push -u origin main` |
| 74 | + |
| 75 | +* Agora se recarregarmos a página iremos ver o nosso arquivo aqui na plataforma! |
| 76 | + |
| 77 | +## Alterando e adicionando arquivo |
| 78 | + |
| 79 | +* 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é |
| 80 | + |
| 81 | +* Primeira coisa que faremos então é alterar esse arquivo que já commitamos |
| 82 | + |
| 83 | +* Adiciona mais uma frase no arquivo `Essa é uma alteração` |
| 84 | + |
| 85 | +* Além disso iremos criar um novo arquivo `Projeto.md`, onde escreveremos `Esse é o arquivo onde desenvolverei o meu projeto` |
| 86 | + |
| 87 | +* Agora então precisamos subir essa alteração, pra isso seguiremos os mesmos passos de `git add .` (agora ponto para explicar que adiciona todos) e `git commit -m "Primeira alteração"` |
| 88 | + |
| 89 | +* Lembrando que para alterar algo no nosso respositório do Github precisamos dar o push, então `git push origin main` (sem o -u) |
| 90 | + |
| 91 | +* 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 |
| 92 | + |
| 93 | +* O verde com `+` e o vermelho com `-` mostra, os conteúdos que foram adicionados e editados dentro do código |
| 94 | + |
| 95 | +* 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é? |
| 96 | + |
| 97 | +<img src="https://media.discordapp.net/attachments/831974152667398214/836830443617648670/unknown.png"> |
| 98 | + |
| 99 | +## Branch |
| 100 | + |
| 101 | +* Até agora tudo o que fizemos de alterações e mandamos de commit, foi na nossa main, que é aquela linha do tempo principal |
| 102 | + |
| 103 | +* 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) |
| 104 | + |
| 105 | +* Lembrem que eu estou aqui editando um arquivo markdown, porém isso tudo vale para qualquer tipo de arquivo com qualquer extensão |
| 106 | + |
| 107 | +* 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 |
| 108 | + |
| 109 | +* Nesse caso vamos adicionar um novo arquivo para desenvolver a nossa feature "Botão" |
| 110 | + |
| 111 | +* Então a primeira coisa que fazemos é `git checkout -b "novo-botao"`, assim criando uma branch para ele |
| 112 | + |
| 113 | +* Esse comando além de criar a branch já entra nela com o checkout |
| 114 | + |
| 115 | +* Inclusive se olharmos agora aqui no meu VSCode, estamos dentro dela |
| 116 | + |
| 117 | +* Vou então criar o arquivo, criar o `botão.md` "aqui eu crio o botão" |
| 118 | + |
| 119 | +* 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"` |
| 120 | + |
| 121 | +* 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` |
| 122 | + |
| 123 | +* Agora se olharmos o nosso Github, veremos que tem 2 branches, a main e a botao |
| 124 | + |
| 125 | +<img src="https://media.discordapp.net/attachments/812313742192279612/836820670037622854/unknown.png"> |
| 126 | + |
| 127 | +* Vamos supor que eu ainda não tivesse terminado de desenvolver o botão, eu poderia continuar tranquilamente na branch `botao` até terminar |
| 128 | + |
| 129 | +* 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 |
| 130 | + |
| 131 | +* Beleza! Agora desenvolvi tudo o que queria aqui na branch `botao`, como que junto ela com a main sem problemas? |
| 132 | + |
| 133 | +## Merge |
| 134 | + |
| 135 | +* 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` |
| 136 | + |
| 137 | +* Pronto, agora tudo o que tinha de alteração na branch `botao` juntou com a `main` |
| 138 | + |
| 139 | +* Para finalizar então, vamos jogar lá no Github isso tudo com o `git push origin main` |
| 140 | + |
| 141 | +## Clone |
| 142 | + |
| 143 | +Como vocês podem baixar meu código? |
| 144 | + |
| 145 | +* 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 |
| 146 | + |
| 147 | +<img src="https://media.discordapp.net/attachments/812313742192279612/836823564513705994/unknown.png"> |
| 148 | + |
| 149 | +* Você irá copiar esse link e levar ele lá pro nosso terminal |
| 150 | + |
| 151 | +* O comando para puxar o projeto para a sua máquina é o `git clone https://github.com/rafaballerini/GitTutorial.git` |
| 152 | + |
| 153 | +* 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á |
| 154 | + |
| 155 | +## Pull |
| 156 | + |
| 157 | +E se eu fizer uma alteração no repositório, como vocês podem atualizar na máquina de vocês? |
| 158 | + |
| 159 | +* 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 |
| 160 | + |
| 161 | +## Fork |
| 162 | + |
| 163 | +Mas Rafa quando eu fiz o clone do seu repositório ele não apareceu no meu Github |
| 164 | + |
| 165 | +* Existe a ferramenta `fork`, que é bem mais simples para fazer isso |
| 166 | + |
| 167 | +* Você só precisa apertar nesse botão dentro do repositório e TCHANAM! Ele aparece automaticamente lá na sua conta |
| 168 | + |
| 169 | +<img src="https://media.discordapp.net/attachments/831974152667398214/836826687634407434/unknown.png"> |
| 170 | + |
| 171 | +## Pull request |
| 172 | + |
| 173 | +O último conceito que quero ensinar para vocês é o de Pull Request, vamos entender como ele funciona: |
| 174 | + |
| 175 | +* 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 |
| 176 | + |
| 177 | +* 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 |
| 178 | + |
| 179 | +* Depois disso, você poderá salvar o projeto, dar o `git add .`, `git commit -m "validação de botões"` e `git push origin main` |
| 180 | + |
| 181 | +* Quando você for olhar o seu Github, verá que existe uma mensagem parecida com a seguinte: |
| 182 | + |
| 183 | +<img src="https://media.discordapp.net/attachments/831974152667398214/838990983852458035/unknown.png"> |
| 184 | + |
| 185 | +* Isso significa que a branch do seu repositório está 1 commit "na frente" da branch original |
| 186 | + |
| 187 | +* O que você deve perceber agora é esse botão que aparece em seguida: |
| 188 | + |
| 189 | +<img src="https://media.discordapp.net/attachments/831974152667398214/838991711249235998/unknown.png"> |
| 190 | + |
| 191 | +* 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 |
| 192 | + |
| 193 | +* 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` |
| 194 | + |
| 195 | +<img src="https://media.discordapp.net/attachments/831974152667398214/838992584893399100/unknown.png"> |
| 196 | + |
| 197 | +* 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 |
| 198 | + |
| 199 | +* Depois disso, basta esperar para que o dono da branch original aceite o seu pull request |
| 200 | + |
| 201 | +## Finalização |
| 202 | + |
| 203 | +* 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 |
| 204 | + |
| 205 | +* 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 |
| 206 | + |
| 207 | +* Não esqueçam de deixar o like e se inscrever no [canal do Youtube](https://youtube.com/RafaellaBallerini) ❤ |
| 208 | + |
| 209 | +* Até semana que vem, um beijo! |
0 commit comments