23
ASWI4 – Arquitetura de Software Joice Mendes [email protected] Samuel Martins (Samuka) [email protected] Aula 04a Uma simples (e modesta) Introdução a Git 1

ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes [email protected] Samuel Martins (Samuka) [email protected]

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

ASWI4 – Arquitetura de Software

Joice [email protected]

Samuel Martins (Samuka)[email protected]

Aula 04aUma simples (e modesta)

Introdução a Git

1

Page 2: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

2

Um velho e conhecido problema

Page 3: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

3

Um velho e conhecido problema

Page 4: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

4

Um velho e conhecido problema

Page 5: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

Controle de Versão

5

Merging

Histórico

Page 6: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

6

RepositóriosCentral Distribuído

Page 7: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

7

GIT→ Distributed Version Control System (DVCS)

→ Criado por Linux Torvalds durante o desenvolvimento do Linux

→ Feito para ser distribuído, rápido e mais natural

→ Capaz de manipular grandes projetos

Page 8: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

8

GIT→ Possui interface pelo terminal

→ Mas, existem apps com interface gráfica para manipular o git

→ Site oficial: https://git-scm.com/

→ Instalação: https://git-scm.com/downloads

Page 9: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

9

GIT: Terminologia Básica→ Repositório:

→ diretório onde o Git armazena arquivos→ geralmente, cada projeto fica em um repositório

→ Repositório Local:→ diretório na máquina local contendo os arquivos

→ Repositório Remoto:→ diretório em máquina remota contendo os arquivos

Page 10: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

10

GIT: Terminologia Básica→ Commit (como verbo):

→ enviar um ou mais arquivos para o versionamento

→ Commit (como substantivo):→ uma versão específica efetivada no repositório

Page 11: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

11

Setting Up GIT$ git config --global user.name "Batman Campineiro"$ git config --global user.email [email protected]$ git config --global color.ui true

Page 12: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

12

Trabalhando com GIT$ git help → mostra os comandos disponíveis do git

Page 13: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

13

Trabalhando com GIT$ git help algum_comando → mostra a documentação do comando requerido

Page 14: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

14

Inicializando um Repositório$ mkdir test$ cd tes$ git initInitialized empty Git repository in /home/sbmmartins/test/.git/

os metadados do git são armazenados aqui

Page 15: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

15

GIT Work Flow

Cria, mofica,remove arquivos

marca-os para commit

(staging area)

efetiva as alterações(nova versão)

envia os commitspara repositório

remoto

Page 16: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

16

Hora do Show!$ mkdir test$ cd test$ git initInitialized empty Git repository in /home/sbmmartins/test/.git/

os metadados do git são armazenados aqui

Page 17: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

17

Hora do Show!$ echo "Hello, world!" > mensagem.txt$ git status$ git add mensagem.txt$ git status$ git commit -m "Meu primeiro Commit"$ git status$ git log

Page 18: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

18

Hora do Show!$ echo "1,2,3, testando som" > testando_som.txt$ echo "Oi, eu sou o Goku" > mensagem.txt$ git status$ git add testando_som.txt mensagem.txtOR$ git add "*.txt" // todos os arquivos com extensão .txt do diretório atualOR$ git add * // todos os arquivos do diretório atualOR$ git add --all // todos os arquivos do repositório, independente do diretório em que você está executando o comando$ git commit -m "Meu segundo Commit"

Page 19: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

19

Hora do Show!$ echo "Mensagem 1" > mensagem1.txt$ echo "Mensagem 2" > mensagem2.txt$ git status$ git add *$ git reset mensagem2.txt // remove o arquivo do staging area sem excluí-lo fisicamente$ git commit -m "Meu terceiro commit"

Page 20: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

20

Lista de Comandos$ git init→ cria um novo repositório local no diretório atual

$ git add→ marca arquivos para commit no repositório

$ git commit→ efetiva as alterações, gerando uma nova versão

$ git clone→ copia um repositório remoto para a máquina local

Page 21: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

21

Lista de Comandos$ git status→ mostra a situação dos arquivos na máquina local

$ git checkout <codigo-do-commit>→ restaura uma versão anterior→ depois, para voltar: git checkout master

$ git push→ empurra commits locais para repositório remoto

$ git pull→ puxa os commits remotos para o repositório local

Page 22: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

22

Exercícios Práticos01) Trabalhando com GitHub02) https://try.github.io

Page 23: ASWI4 – Arquitetura de Softwarera144681/courses/aswi4_2s2016/...ASWI4 – Arquitetura de Software Joice Mendes joice.mendes@gmail.com Samuel Martins (Samuka) sbm.martins@gmail.com

Referências→ http://gitref.org/→ https://try.github.io

23