diff --git a/cap08/cap08_dt.Rmd b/cap08/cap08_dt.Rmd
index 0e7048a683ca20f8f02791ba11f84db9b6ed149d..ff8baad4ac598a5d115d92ded7f429ed3b2396b5 100644
--- a/cap08/cap08_dt.Rmd
+++ b/cap08/cap08_dt.Rmd
@@ -12,7 +12,7 @@ do nome do usuário git.
 Todas as configurações são globais e ficam armazenadas em um arquivo 
 chamado `.gitconfig`, que fica localizado no diretório padrão do usuário.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine='bash', eval=FALSE}
 # Configurando o usuário Ezio Auditore:
 git config --global user.name "Ezio Auditore"
@@ -20,7 +20,22 @@ git config --global user.name "Ezio Auditore"
 git config --global user.email ezio.auditore@exemple.com
 ```
 
-## ssh-keygen
+## SSH Key
+
+É uma chave de autenticação, baseada em criptografia de chave pública
+(chave assimétrica), que torna o processo transferência de arquivos
+entre o cliente e o servidor mais segura. 
+
+Para que o git local consiga se conectar a um servidor git remoto, é 
+necessário que esta chave seja gerada e que as devidas configurações
+sejam feitas tanto localmente quanto no servidor remoto. 
+Caso contrário é exibido um erro e a conexão é interrompida.
+
+**Exemplo:**
+```{r, engine='bash', eval=FALSE}
+# Gerando chave SSH:
+ssh-keygen
+```
 
 
 ## Help
@@ -28,7 +43,7 @@ git config --global user.email ezio.auditore@exemple.com
 Todo comando git tem um manual de ajuda que pode ser exibido na tela
 com o comando `--help`.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine='bash', eval=FALSE}
 # Exibir ajuda do comando status:
 git status --help
@@ -40,7 +55,7 @@ Um repositório é uma pasta gerenciada pelo git. A partir da criação deste,
 podemos marcar pontos de mudanças significativas nos arquivos gerenciados,
 sendo possível transitar entre as diferentes verões a medida do necessário.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine='bash', eval=FALSE}
 # Iniciar repositório na pasta atual:
 git init
@@ -64,7 +79,7 @@ histórico de controle de versões sem a necessidade de uso da internet.
 é adicionado automaticamente, podendo ser acessado atravéz do nome 
 `origin`.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine='bash', eval=FALSE}
 # Clonando o projeto desta apostila:
 git clone git@gitlab.c3sl.ufpr.br:pet-estatistica/apostila-git.git
@@ -77,7 +92,7 @@ git remote
 O `add` adiciona (envia) os arquivos para a stagin area, para que 
 possa ser marcado no tempo por um commit.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine="bash", eval=FALSE}
 # Adicionar todos os arquivos a stagin area:
 git add *
@@ -91,7 +106,7 @@ versão definitiva, para que posteriormente, caso algum erro ocorra,
 possamos voltar para commits anteriores onde o código está 
 em pleno funcionamento.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine="bash", echo=TRUE, eval=FALSE}
 git commit -m "Meu primeiro commit"
 ```
@@ -104,20 +119,52 @@ ele cria uma cópia da sua pasta gerenciada, permitindo que as modificações
 em um branch não afete os arquivos em outro. Os branchs também são chamados
 de ramos de desenvolvimento.
 
-### Exemplo
-```{r, engine='bash', eval=FALSE}
+**Exemplo:**
+```{r, engine='bash', echo=TRUE, eval=FALSE}
 # Cria um branch chamado novoBranch
 git branch novoBranch
 ```
 
+## Checkout
+
+O `checkout` serve para transitar entre branchs e commits. 
+Usando o checkout é possivel voltar a commits anteriores.
+
+**Exemplo:**
+```{r, engine='bash', echo=TRUE, eval=FALSE}
+# Mudar do branch atual para o branch teste:
+git checkout teste
+```
+
 ## HEAD
 
-## Checkout
+`HEAD` é um arquivo que contém um apontador para o `branch` atual.
+Quando o `checkout` é executado para a mudança do `branch`, 
+esse arquivo é automaticamente modificado apontando agora para o
+novo local, permitindo que, quando o computador for desligado e depois
+ligado novamente, o git ainda esteja trabalhando com o mesmo `branch`
+de antes.
+
+## Tag
 
-`Checkout` serve para transitar entre branchs e commits. Usando o
-checkout é possivel voltar a commits anteriores.
+As tags são usadas para marcar pontos específicos do desenvolvimento.
+Geralmente são usadas para marcar versões definitivas, como a v1.0, v2.0
+e assim por diante.
 
-## Reset
+Elas são divididas em dois tipos: leve e anotada.
+A `tag` leve simplemente aponta para um `commit` específico, já a `tag` 
+anotada é guardada como objtos inteiros, possuindo algumas informações
+relacionadas a ela, como o nome da pessoa que criou, a data, uma mensagem
+semelhante a de `commit`, entre outras.
+
+**Exemplo:**
+```{r, engine='bash', echo=TRUE, eval=FALSE}
+# Criando tag leve:
+git tag -l "v1.0.0"
+
+# Criando tag anotada:
+git tag -a v1.0 -m "Minha primeira tag anotada."
+```
 
 ## Remote
 
@@ -126,8 +173,9 @@ seus os arquivos git estão hospedados. O remote padrão
 geralmente é criado com o nome de `origin`, 
 e é possível adicionar outros remotes utilizando nomes diferentes.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine='bash', eval=FALSE}
+# Adicionando um servidor remoto:
 git remote add origin "git@gitlab.c3sl.ufpr.br:pet-estatistica/apostila-git.git"
 ```
 
@@ -143,7 +191,7 @@ quando duas ou mais pessoas modificam a mesma parte do código.
 Estes conflitos devem ser resolvidos manualmente, deixando a cargo do
 gerente de projetos decidir que parte do código deve permanecer.
 
-### Exemplo
+**Exemplo:**
 ```{r, engine='bash', eval=FALSE}
 # Faz merge do branch chamado novoBranch com o branch atual:
 git merge novoBranch
@@ -151,13 +199,53 @@ git merge novoBranch
 
 ## Status
 
+O status exibe a diferença entre o estado atual dos arquivos e o estado
+do ultimo `commit` do mesmo `branch`.
+
+**Exemplo:**
+```{r, engine='bash', eval=FALSE}
+# Pedindo o status:
+git status
+```
+
 ## Rm
 
+O `git rm` serve para remover um arquivo de forma que ele deixe de ser 
+gerenciado pelo git e seja excluido do disco rígido. Também é possível 
+que o arquivo deixe de ser gerenciado e permaneça no disco.
+
+Uma das vantagens é que, quando o arquivo é removido pelo `git rm`, ele 
+não aparece como não adicionado a stagin area, precisando somente que 
+a exclusão seja commitada.
+
+**Exemplo:**
+```{r, engine='bash', echo=TRUE, eval=FALSE}
+# Remover arquivo teste.tex do gerenciamento e do disco:
+git rm teste.tex
+
+# Remover arquivo teste.tex apenas do gerenciamento:
+git rm --cached teste.tex
+```
+
 ## Mv
 
+O `git mv` move ou renomeia arquivos, informando ao git que eles foram
+movido ou renomeados é que não se tratam de um novos arquivos.
+
+Caso a mudança seja feita sem esse comando o git entende que o arquivo
+foi deletado e que um novo arquivo foi criado, deixando de fora, 
+por exemplo, a ligação existente entre o arquivo e seus commits.
+
+**Exemplo:**
+```{r, engine='bash', echo=TRUE, eval=FALSE}
+# Renomeando o arquivo teste.tex para arquivo1.tex:
+git mv teste.tex arquivo1.tex
+```
+
+
 ## Stash
 
-## Tag
+## Reset
 
 ## Fetch