Você está na página 1de 39

Seminário em Computação IV

Bernadete, Edmilson e Lucas


Histórico
 1991–2002: o projeto do kernel do não utilizava
uma ferramenta para o controle de versão.

 2002: o projeto começou a usar a ferramenta

 2005: a relação com a companhia do BitKeeper


foi interrompida.

 Linus Torvalds e a comunidade Linux


iniciaram o desenvolvimento do
Visão Geral
 A maioria dos sistemas de controle de versão pensam na
informação que eles guardam como um conjunto de
arquivos e mudanças realizadas ao longo do tempo.
Visão Geral
 No Git, cada diretório de trabalho Git é um repositório com
todos os históricos e habilidade total de controle das
revisões, tornando quase todas as operações locais.
Portabilidade

Darwin
Interfaces, Ferramentas e Plugins

Cygwin mysysgi TortoiseGit NbGit EGit, JGit GitX


t

Git Extensions Git# QGit Giggle Gitorious SmartGit

Pyrite PyjamasGitWeb GitCola DotGit Qt Creator


TortoiseGit
 Cliente do Git para Microsoft Windows.

 Código aberto, licenciado sob GNU General Public License.

 Possui integração com o Windows Shell e Windows


Explorer e independência de ambiente de desenvolvimento
integrado.
Repositórios Remotos

GNU Savannah
GitHub
 Serviço de
Hospedagem Web
Compartilhado
para projetos que
usam o Git.

 Possui planos
comerciais e
gratuitos (para
projetos de código
aberto).
Projetos que usam Git

Wine
Instalação
 Está disponível
online para
download
gratuitamente.

 Basta seguir os
passos para a
instalação.
Settings
 Permite realizar uma
série de
configurações no
ambiente Git.
Adicionar Repositórios Remotos
 Pode-se trabalhar
com mais de um
repositório
remoto.

 O primeiro
repositório recebe
o nome de
ORIGIN.
Config
 Utilizado para
configurar sua
identidade (o
nome e o e-
mail).

 Essas
informações são
utilizadas no
Commit.
Help
 Traz informações
sobre o TortoiseGit.
Create repository here
 Init: Cria um
novo subdiretório
chamado .git que
contem todos os
arquivos de
repostitório
necessários.
Clone
 Pega todas as
versões de todos
os aquivos do
projeto e realiza o
check out da
cópia de trabalho
da última versão.
Realizando Mudanças
 O ciclo de vida dos estados dos arquivos pode ser visto no
diagrama abaixo:
Status
 Determina em qual
estado está cada arquivo.
Add
 Marca o arquivo para
ser incorporado e
adicionado no
próximo commit.
Ignore
 .gitignore: lista
os padrões para
os arquivos os
quais você
deseja ignorar e
nem mesmo ver
o estado.
Diff
 Compara o que está na cópia
de trabalho com o que está
no repositório local.
Commit
 Envia as
modificações
para o
repositório
local.
Delete
 Delete: Apaga o
arquivo do
repositório local
e da cópia de
trabalho.

 Delete (Keep
Local): Apaga o
arquivo
somente do
repositório
local.
Rename
 Renomeia o arquivo.
Log
 Lista os commits
realizados no
repositório.
Log
 Apresenta o que foi
alterado no commit.
Log
 O comando log no Git possui algumas opções que
permitem apresentar apenas um subconjunto de commits:
 git -<n>
 git --since e git --after
 git --until e git --before
 git --author
 git --commiter
Amend
1. Muda a última
mensagem de
commit caso
nenhuma
1 mudança tenha
sido feita após o
2
último commit.

2. Acrescenta novas
mudanças feitas
na cópia de
trabalho ao
último commit.
Revert
teste.txt modificado Revert...

 Desfaz as mudanças
feitas em um arquivo ou
diretório, deixando
exatamente como era
após o último Commit.
Fetch
 Abaixa para o
repositório local
todas as mudanças
feitas no repositório
remoto desde o
último PULL.

 Você poderá ver as


alterações antes de
atualizar seu diretório
de trabalho clicando
no botão Rebase.
Fetch - Rebase

 Mostra as
modificações feitas
no repositório
remoto e dar a opção
de atualizar o seu
repositório local ou
deixá-lo como está.
Pull
 Equivale a um FETCH
seguido de um
MERGE.

 Atualiza seu diretório


de trabalho com o
repositório remoto.

 As atualizações serão
aplicadas
imediatamente, caso
não haja conflitos.
Push
 Envia para o repositório
remoto as mudanças
feitas no seu diretório de
trabalho.
Tags
 Git possui dois tipos de Tags:
 Lightweight tag:
 É apenas um ponteiro para um determinado commit.
Nenhuma informação adicional é armazenada.
 No TortoiseGit é criada quando nenhuma mensagem é
adicionada na criação tag.

 Annotated tag:
 É armazenada como um objeto no banco de dados do Git e
guarda o autor, a mensagem, o timestamp.
 No TortoiseGit é criada quando se adiciona uma mensagem na
criação da tag.
Inserindo Tags
TortoiseGit  Show log
Inserindo Tags
 Lightweight tag
Inserindo Tags
 Annotated tag
EXEMPLO