Exemplo
Como um exemplo de projeto que use Git, vamos desenvolver uma calculadora RPN e usaremos Git para versionar o projeto. O projeto desenvolvido pode ser encontrado no endereço https://github.com/petcomputacaoufrgs/rpn-calc.
NOTA: neste exemplo, não usaremos --set-upstream, e escreveremos sempre
o nome das branches em pushes e pulls por questões de clareza.
Uma calculadora RPN usa notação polonesa reversa, uma notação pósfixa. Por
exemplo, 3 + 2 em RPN é escrito 3 2 +, enquanto (5 + 4/3 - 1) * 2 é
escrito 5 4 3 / + 1 - 2 *. Parentesis normalmente não são usados, mas a
expressão anterior pode ser lida como ((5 (4 3 /) +) 1 -) 2 *. RPN funciona
através de uma pilha de operandos. Passo a passo da execução da expressão acima:
- Estado Inicial
Expressão: 5 4 3 / + 1 - 2 *
Pilha: topo = fundo
- Trazer
5para a pilha
Expressão: 4 3 / + 1 - 2 *
Pilha: fundo = 5 = topo
- Trazer
4para a pilha
Expressão: 3 / + 1 - 2 *
Pilha: fundo = 5, 4 = topo
- Trazer
3para a pilha
Expressão: / + 1 - 2 *
Pilha: fundo = 5, 4, 3 = topo
- Executar a operação
/nos dois elementos mais ao topo da pilha.
Expressão: + 1 - 2 *
Pilha: fundo = 5, 1.3333... = topo
- Executar a operação
+nos dois elementos mais ao topo da pilha.
Expressão: 1 - 2 *
Pilha: fundo = 6.3333... = topo
- Trazer
1para a pilha
Expressão: - 2 *
Pilha: fundo = 6.3333..., 1 = topo
- Executar a operação
-nos dois elementos mais ao topo da pilha.
Expressão: 2 *
Pilha: fundo = 5.3333... = topo
- Trazer
2para a pilha
Expressão: *
Pilha: fundo = 5.3333..., 2 = topo
- Executar a operação
*nos dois elementos mais ao topo da pilha.
Expressão: vazia
Pilha: fundo = 10.6666... = topo
Resultado: 10.6666....
NOTA: Boa parte dos commits aqui não têm o melhor exemplode mensagem, mas são o suficiente para terem significado, e são só exemplos de mensagens.