Skip to content

Commit cf8a909

Browse files
authored
Merge pull request #34 from lays147/git_basic
Add git basic chapter
2 parents 8642e8c + f1f80ac commit cf8a909

File tree

9 files changed

+87
-1
lines changed

9 files changed

+87
-1
lines changed

manuscript/Book.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ migracao_banco_dados_relacionais.md
1818
o_que_tem_que_ter_no_pipeline.md
1919
garantindo_qualidade_iac.md
2020
deploy_de_iac.md
21-
nao_acabou.md
21+
nao_acabou.md

manuscript/git_basico.md

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Git Básico (Lays Rodrigues)
2+
3+
Git é uma ferramenta para controle de versionamento de qualquer projeto que contenha algum tipo de arquivo.
4+
Em nosso dia a dia de desenvolvimento o Git é uma ferramenta essencial para que possamos trabalhar em equipe e colaborar na construção de uma aplicação e com isso agregar seus principais benefícios que são: Manter o histórico do que foi desenvolvido e assim garantir a integridade do fluxo de desenvolvimento com um modelo de trabalho distribuído.
5+
6+
7+
Neste capítulo trataremos do aprendizado dos seus comandos mais simples e como você deve integrá-los no seu dia a dia.
8+
9+
## Por onde começar?
10+
11+
Normalmente para trabalharmos com o Git precisamos de um terminal. Um terminal é uma aplicação que te permite controlar recursos da sua máquina.
12+
13+
![Print de um Terminal](./resources/images/terminal.png)
14+
15+
No terminal nós digitamos alguns comandos que são interpretados pelo seu sistema operacional. Neste momento vamos instalar o git em nossa máquina:
16+
17+
### Instalar no Windows
18+
No Windows é possível instalar o Git via um binário, que você pode [baixar aqui](https://git-scm.com/downloads) e executar a instalação, ou trabalhar com o [Windows Subsystem for Linux*](https://docs.microsoft.com/pt-br/windows/wsl/install), mais conhecido como WSL, onde o fluxo de instalação do Git é praticamente igual o do Linux que descreveremos a seguir.
19+
> *Lembre-se que é necessário instalar e configurar o WSL em sua máquina.
20+
21+
### Instalar no Linux
22+
Para instalar o Git no Linux, você pode seguir por dois caminhos: O primeiro executando a instalação pelo seu terminal e o segundo pela loja de aplicativos da sua distribuição.
23+
Para manter a simplicidade aqui usaremos o Ubuntu como distribuição base para realizar o processo de instalação e o comando a ser executado em seu terminal é o seguinte:
24+
25+
```sh
26+
sudo apt-get install git
27+
```
28+
29+
Se a sua distribuição não tiver a base Ubuntu, consulte a [documentação do Git](https://git-scm.com/download/linux) para encontrar o comando compatível com o seu sistema.
30+
31+
---
32+
Após concluir a instalação do Git em sua máquina, agora vamos começar para criar nosso primeiro repositório. A seguir temos um exemplo de código, também conhecido como `snippet` com alguns comandos do git. Execute os comandos linha a linha em seu terminal para entender como fluxo de criação inicialização de um repositório git funciona e como realizar o seu primeiro _commit_.
33+
34+
```sh
35+
# Comandos para criar e entrar em um diretório
36+
mkdir meu_projeto && cd meu_conflito
37+
# Aqui estamos iniciando o git criando a branch main
38+
git init
39+
echo "# Este é meu arquivo novo" >> new_file.txt
40+
# Aqui estamos dizendo para o git que temos um novo arquivo
41+
git add new_file.txt
42+
# Aqui estamos salvando este novo arquivo no git
43+
git commit -m "Adicionando o novo arquivo"
44+
# Com este comando conseguimos consultar o histórico de commits
45+
git log
46+
```
47+
### Estados do Git
48+
De uma forma geral podemos considerar que o Git é um gerenciador de estados. O que fizemos acima muda o estado do Git em 4 formas:
49+
50+
Na primeira, é quando usamos o `git init`, aqui estamos dizendo pro Git que desejamos começar um novo repositório e gerenciar as mudanças que acontecerem nesse diretório, por isso nosso diretório contém somente a pasta oculta `.git`*:
51+
52+
![Git Init](./resources/images/git_init.png)
53+
54+
> *Entraremos em mais detalhes sobre a estrutura dessa pasta oculta em outra oportunidade, por agora, deixamos você com a [documentação oficial do Git](https://git-scm.com/docs/gitrepository-layout).
55+
56+
Na segunda, é quando criamos o nosso novo arquivo, o `new_file.txt`. Vemos na imagem abaixo que o nosso `new_file.txt` está listado em `Untracked files`. Neste caso o Git detecta que houve uma mudança dentro do repositório, porém o estado dessa mudança ainda não foi passado para o Git. Aqui apresentaremos o comando `git status`, que é responsável por isso mesmo, mostrar qual é o estado atual do seu repositório.
57+
58+
![Git Untracked Status](./resources/images/git_untracked.png)
59+
60+
Na terceira, vamos usar o `git add new_file.txt` para dizer ao Git que queremos que ele seja responsável pela gestão do estado do nosso arquivo.
61+
62+
![Git Add Status](./resources/images/git_add.png)
63+
64+
Agora notamos que nosso arquivo está listado em outra estrutura, o `Changes to be committed`. Neste estado o Git mostra que ele está pronto para gerenciar o estado do nosso arquivo, porém, ainda não demos essa responsabilidade para ele.
65+
66+
Na quarta e última forma, ao utilizar o `git commit -m "Adicionando o novo arquivo"`, o Git finalmente consegue adicionar o `new_file.txt` à sua estrutura e portanto agora, todas as mudanças que ocorrerem em nosso arquivo, o Git vai mostrar o antes e o depois e esperar nossas ações em relações a essas mudanças.
67+
68+
![Git Commit Status](./resources/images/git_commit.png)
69+
70+
### Git log
71+
E por último, mas não menos importante, temos o `git log` que nos lista todas as mudanças de estado que "commitamos" no Git. Com este comando podemos ver todos os estados dos arquivos que salvamos em nosso repositório. E podemos ver na imagem a seguir que um `commit` contém muito mais informação além da mensagem de título que usamos na seção anterior, como a Data e Hora que esse `commit` ocorreu, o identificador dele(destacado em laranja) e quem foi o autor dessa alteração.
72+
73+
![GitLog](./resources/images/git_log.png)
74+
75+
76+
**Dica**: Instale o Tig para ter um outro tipo de visualização do `git log`:
77+
```sh
78+
sudo apt-get install tig
79+
```
80+
Para ativar o Tig basta digitar `tig` no seu terminal dentro de uma pasta com o git configurado.
81+
82+
![Print do tig](./resources/images/tig.png)
83+
84+
---
85+
### Conclusão
86+
Até aqui nós aprendemos alguns dos comandos básicos do Git e em como usar esta ferramenta para gerenciar as mudanças dentro de nosso diretório. Porém, até agora todas essas mudanças estão em nosso computador. Como fazemos para compartilhar o nosso projeto com outras pessoas? Como salvamos o nosso trabalho em ferramentas como o Github ou Gitlab? Essas e outras perguntas responderemos no próximo capítulo. Até lá. =D
25.3 KB
Loading
20.9 KB
Loading
27 KB
Loading
18.1 KB
Loading
31.5 KB
Loading
24.4 KB
Loading

manuscript/resources/images/tig.png

274 KB
Loading

0 commit comments

Comments
 (0)