GIT – CONTROLE DE VERSÃO DISTRIBUÍDO

MINI CURSO DE GIT

Link do Meu Github

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.

Ficamos por aqui, até mais. :)

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

Meu github:

https://github.com/toticavalcanti

Obrigado, até a próxima e bons estudos. ;)