Aula 05 – Mini curso de Git
GIT – CONTROLE DE VERSÃO DISTRIBUÍDO
MINI CURSO DE GIT
Link do Meu Github

GIT
Voltar para página principal do blog
Todas as aulas desse curso
Aula 04 Aula 06
Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook
Esse é o link do código fluente no Pinterest
Meus links de afiliados:
Hostinger
Digital Ocean
One.com
VAMOS CRIAR UMA NOVA BRANCH setup_program_and_tests
git checkout -b setup_program_and_tests
CRIAREMOS O PRIMEIRO TESTE DO NOSSO PROGRAMA, NO ARQUIVO test_noel.py.
INSIRA NELE O SEGUINTE CONTEÚDO:
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
import unittest
from noel import solution
class TestNoel(unittest.TestCase):
def test_one_Ho(self):
self.assertEqual(solution(1), "Ho!")
unittest.main()
AGORA O ARQUIVO noel.py.
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
def solution():
pass
VAMOS RODAR O TESTE
- DENTRO DA PASTA hohoho DIGITE
python test_noel.py
- VEJA A MENSAGEM DE ERRO DIZENDO QUE None != ‘Ho!’ None É DIFERENTE DA STRING ‘Ho!’
- AGORA IREMOS CORRIGIR O ERRO REFERENTE AO PRIMEIRO TESTE
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
def solution(num):
return 'Ho!'
RODE O TESTE NOVAMENTE python test_noel.py
E VEJA QUE AGORA O PRIMEIRO TESTE VAI PASSAR
HORA DE ADICIONAR A MODIFICAÇÃO A STAGING AREA, COMMITAR E FAZER O PUSH PARA O GITHUB
git add .
git commit "insert return Ho! in noel.py"
git push origin initial_set_files
VAMOS CONSTRUIR UM NOVO TESTE, AGORA COM DOIS HO ( ‘Ho Ho!’)
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
import unittest
from noel import solution
class TestNoel(unittest.TestCase):
def test_one_Ho(self):
self.assertEqual(solution(1), "Ho!")
def test_two_Ho(self):
self.assertEqual(solution(2), "Ho Ho!")
unittest.main()
RODE NOVAMENTE O ARQUIVO DE TESTE test_noel.py E VEJA QUE UM TESTE VAI PASSAR, MAS O NOVO TESTE NÃO.
PODEMOS AGORA ADICIONAR A MUDANÇA NO ARQUIVO DE TESTE A STAGING AREA, DEPOIS COMIITAR E SE QUISER, PODE FAZER LOGO O PUSH PRO GITHUB.
git add .
git commit -m "create a second test with 2 as parameter and expected Ho Ho! as return"
git add push origin initial_set_files
AGORA VAMOS CORRIGIR NOSSO PROGRAMA noel.py PARA QUE ELE CONSIGA RESOLVER NOSSO SEGUNDO CASO DE TESTE SEM QUEBRAR O PRIMEIRO TESTE.
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
def solution(num):
if num == 1:
return 'Ho!'
return 'Ho Ho!'
VAMOS ADICIONAR AS MUDANÇAS NO ARQUIVO noel.py A STAGING AREA, DEPOIS COMMITAR E FAZER O PUSH PARA O GITHUB.
git add .
git commit -m "change the noel code to fix the second test case"
git add push origin initial_set_files
TEMOS DOIS TESTE, E O NOSSO PROGRAMA TÁ FUNCIONANDO PARA ESSES DOIS TESTES, VAMOS CRIAR UM OUTRO TESTE QUE QUEBRE NOSSO PROGRAMA.
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
import unittest
from noel import solution
class TestNoel(unittest.TestCase):
def test_one_Ho(self):
self.assertEqual(solution(1), "Ho!")
def test_two_Ho(self):
self.assertEqual(solution(2), "Ho Ho!")
def test_five_Ho(self):
self.assertEqual(solution(5), "Ho Ho Ho Ho Ho!")
unittest.main()
NOSSO TERCEIRO TESTE NÃO IRÁ PASSAR
VAMOS AGORA TENTAR UMA SOLUÇÃO QUE RESOLVA O CASO MAIS GERAL POSSÍVEL, QUE PASSANDO QUALQUER NÚMERO ENTRE ZERO e 1.000.000 (10⁶ ou 10^6) ELE TRAGA A RESPOSTA CORRETA.
VAMOS PRIMEIRO ADICIONAR AS MUDANÇAS NO test_noel.py A STAGING AREA, COMMITAR E FAZER O PUSH.
git add .
git commit -m "create a third test with 5 as parameter and expected Ho Ho Ho Ho Ho! as return"
git add push origin initial_set_files
AGORA VAMOS RETIRAR TODO O HARDCODE QUE FIZEMOS NO NOSSO PROGRAMA E COLOCAR A SOLUÇÃO DEFINITIVA PARA TODOS OS CASOS POSSÍVEIS DE TESTE.
# -*- coding: utf-8 -*-
"""
@author: toti.cavalcanti
"""
def solution(num):
return "Ho " * (num - 1) + "Ho!"
AGORA PARA FINALIZAR, JÁ QUE NOSSO PROGRAMA ESTÁ PRONTO, VAMOS ADICIONAR AS MUDANÇAS A STAGING AREA, COMMITAR, FAZER O PUSH PARA O GITHUB, SAIR DA BRANCH initial_set_files E VOLTAR PARA A master, FAZER O MERGE COM A BRANCH initial_set_files E FAZER O PUSH PARA A MASTER.
git add .
git commit -m "change the noel.py file to resolve any possible test"
git add push origin initial_set_files
git checkout master
git merge initial_set_files
git push origin master
CONCLUSÃO:
COM ESSES COMANDOS E ENTENDIMENTO BÁSICOS DO GIT, VOCÊ JÁ CONSEGUE FAZER O CONTROLE DE VERSÃO DE SEUS PROJETOS.
CLARO QUE EXISTE MUITO MAIS COISAS A APRENDER, MAS O INTUITO DESSE PEQUENO TUTORIAL SOBRE O GIT, É MAIS PARA DÁ UMA BASE PRA QUEM QUER COMEÇAR A USAR ESSES RECURSOS NA PRÁTICA.