Skip to content
Snippets Groups Projects
Commit 1c29ee74 authored by Gabriel Sartori Klostermann's avatar Gabriel Sartori Klostermann
Browse files

Merge branch 'issue#57' into devel

Conflicts:
	cap03.Rmd
parents 2fa7e3d1 e2a86877
No related branches found
No related tags found
No related merge requests found
...@@ -45,6 +45,8 @@ else ...@@ -45,6 +45,8 @@ else
mkdir meu1repo mkdir meu1repo
fi fi
```{r, engine="sh"}
cd meu1repo ## Diretório de teste de comandos
``` ```
```{r, engine="bash", eval=FALSE} ```{r, engine="bash", eval=FALSE}
...@@ -64,6 +66,8 @@ sessão anterior. ...@@ -64,6 +66,8 @@ sessão anterior.
## Mostra as informações/definições do usuário. ## Mostra as informações/definições do usuário.
git config --list git config --list
``` ```
Initialized empty Git repository in /home/gabriel/Suporte/PET/Projeto/Apostila/Git/.git/
```sh ```sh
user.name=Knight Rider user.name=Knight Rider
...@@ -72,32 +76,60 @@ user.email=batman@justiceleague.org ...@@ -72,32 +76,60 @@ user.email=batman@justiceleague.org
Temos um diretório destinado ao projeto que será mantido sobre Temos um diretório destinado ao projeto que será mantido sobre
versionamento, então vamos iniciar um repositório Git nele. versionamento, então vamos iniciar um repositório Git nele.
O Git retorna a mensagem de inicilização do repositório. Nesse momento
```{r, engine="bash", echo=-c(1:2)}
cd meu1repo/
## Inicia um repositório sob versionamento Git.
git init
```
O Git retorna a mensagem de inicialização do repositório. Nesse momento
ele cria um diretório oculto `.git/` com subdiretórios que são o coração ele cria um diretório oculto `.git/` com subdiretórios que são o coração
do sistema de versionamento. Você não deve modificar nada nesse do sistema de versionamento. Você não deve modificar nada nesse
diretório. É por essa razão que ele é oculto. Alterar o conteúdo pode diretório. É por essa razão que ele é oculto. Alterar o conteúdo pode
prejudicar ou interromper o funcionamento do Git. Se você quiser prejudicar ou interromper o funcionamento do Git. Se você quiser
encerrar o processo de versionamento fazendo com que esse diretório seja encerrar o processo de versionamento fazendo com que esse diretório seja
como qualquer outro diretório, é só excluir o `.git/`. Cada como qualquer outro diretório, é só excluir a diretório `.git/`. Cada
subdiretório do `.git/` tem um propósito mas deixaremos os subdiretório do `.git/` tem um propósito mas deixaremos os
esclarecimentos para o futuro. Por agora vamos apenas conferir a sua esclarecimentos para o futuro.
estrutura. Por agora vamos apenas estrutur a minha primeira sessão.
```{r, engine="bash", echo=-c(1:2)} ```{r, engine="bash", echo=-c(1:2)}
cd meu1repo cd meu1repo/
## Inicia um repositório sob versionamento Git.
git init
## Mostra todo conteúdo do diretório.
```{r, engine ="bash", eval = FALSE}
tree -a tree -a
``` ```
```
.
└── .git
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
10 directories, 13 files
```
**NOTA**: o `tree` é um programa instalado a parte (*third party **NOTA**: o `tree` é um programa instalado a parte (*third party
software*) que retorna arte ASCII representado a estrutura de software*) que retorna arte ASCII representado a estrutura de
diretórios. Se você usa distribuição Debian, instale com `sudo apt-get diretórios. Se você usa distribuição Debian, instale com `sudo apt-get
...@@ -219,6 +251,53 @@ projeto. São mostrados apenas os 7 primeiros dígitos porque são ...@@ -219,6 +251,53 @@ projeto. São mostrados apenas os 7 primeiros dígitos porque são
suficientes para diferenciar *commits*, seja de projetos pequenos ou até suficientes para diferenciar *commits*, seja de projetos pequenos ou até
mesmo de projetos moderados ou grandes. mesmo de projetos moderados ou grandes.
Para o registro do desenvolvimento, existe uma outra marcação de projeto
que são as tags, que tem o caráter de destacar pontos de destaque da ati
vidade como por exemplo versão versão alfa, beta.
```{r, engine = "sh"}
git tag versao1
git status
```
```{r, engine = "sh"}
# Podemos marcar uma tag com um commit
git tag -a versao2 -m "Versão 2 está pronta"
```
```{r, engine = "sh"}
# Ver todas as tags
git tag
```
```{r,engine = "sh"}
# Excluir tags
git tag -d versao1
```
Caso haja mudança de nome no arquivo o novo arquivo não estará na mesma etapa, portanto o ideal é alterar o nome do arquivo pelo GIT.
```{r, engine = "sh", eval = FALSE}
# git mv antigo novo
git mv README LEIAME
```
Caso você queira excluir o arquivo
```{r, engine = "sh", eval = FALSE}
git rm README
```
# Aperfeiçoando # Aperfeiçoando
Vamos criar mais arquivos e acrescentar conteúdo ao já rastreado pelo Vamos criar mais arquivos e acrescentar conteúdo ao já rastreado pelo
...@@ -242,6 +321,7 @@ echo "Por que usar o Linux? ...@@ -242,6 +321,7 @@ echo "Por que usar o Linux?
* É seguro * É seguro
* É customizavel" > porqueLinux.txt * É customizavel" > porqueLinux.txt
``` ```
Saída
```{r, engine="bash", echo=-c(1:2)} ```{r, engine="bash", echo=-c(1:2)}
cd meu1repo cd meu1repo
...@@ -315,50 +395,24 @@ git add porqueLinux.txt ...@@ -315,50 +395,24 @@ git add porqueLinux.txt
git status git status
``` ```
```{r, engine="bash", echo=-c(1:4)}
cd meu1repo
git config user.name "Knight Rider"
git config user.email "batman@justiceleague.org"
## Mensagem que registra as modificações adicionadas.
git commit -m "Lista de inicial de o porquê usar o Linux."
```
```{r, engine="bash", echo=-c(1:2)}
cd meu1repo
git status
``` ```
No ramo master
Changes not staged for commit:
(utilize "git add <arquivo>..." para atualizar o que será submetido)
(utilize "git checkout -- <arquivo>..." para descartar mudanças no diretório de trabalho)
Ainda resta o `REAMDE.txt` para receber registro. Você não precisa fazer modificado: porqueLinux.txt
agora. Pode continuar editando caso não tenha atingido uma quantidade de
modificação merecedora de *commit*. Lembre-se que registros geram
conteúdo no diretório `.git`. Quanto mais *commits*, mais conteúdo
gerado. Mas também, toda vez que você faz um *commit*, você define um
ponto de retorno, um estado salvo, caso precise no futuro
recuperar/visitar. O que é uma unidade de modificação "comitável" você irá
definir aos poucos com a prática.
```{r, engine="bash", echo=-c(1:2)} nenhuma modificação adicionada à submissão (utilize "git add" e/ou "git commit -a")
cd meu1repo
## Encaminha o arquivo para receber registro.
git add README.txt
git status
``` ```
Na 1° linha diz que estamos no ramo master porém não vem esclarecer com muitos detalhes agora,
Na 2 ° linha diz que mudanças foram feitas no arquivo, e não estão sendo rastreadas. Logo abaixo é citado os comandos que utilizamos na seção anterior para o arquivo se tornar rastreado.
```{r, engine="bash", echo=-c(1:4)} O comando `git status` é recomendado que se utilize sempre após algum outro comando git quando você está na fase inicial de aprendizagem.
cd meu1repo
git config user.name "Knight Rider"
git config user.email "batman@justiceleague.org"
## Atribui mensagem de notificação.
git commit -m "Adiciona frase do Linux Torvalds."
```
Agora temos 3 *commits* e o *log* apresenta os *sha1* e as mensagens
correspondentes aos mesmos. Com `--oneline` resumimos o *output* mostrando
apenas o *sha1* e a mensagem de *commit*.
```{r, engine="bash", echo=-c(1:2)} ```{r, engine="bash", echo=-c(1:2)}
cd meu1repo cd meu1repo
...@@ -425,7 +479,6 @@ cd meu1repo ...@@ -425,7 +479,6 @@ cd meu1repo
## Depois de corrigir palavras e adicionar conteúdo. ## Depois de corrigir palavras e adicionar conteúdo.
git status git status
```
O Git sugere você aplicar *add* para preparar para *commit*. Caso as O Git sugere você aplicar *add* para preparar para *commit*. Caso as
modificações sejam um engano e não mais desejadas, você pode modificações sejam um engano e não mais desejadas, você pode
...@@ -1358,5 +1411,3 @@ cd meu1repo ...@@ -1358,5 +1411,3 @@ cd meu1repo
git reflog git reflog
``` ```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment