O CRIADOR
Git é um software de controle de
modificações, criado por Linus
Torvalds em Abril de 2005.
Foi inspirado em outras ferramentas
como o BitKeeper e o Monotone.
NECESSIDADE
Foi criado devido a necessidade e desejo por uma ferramenta que
controlasse as modificações rapidamente.
Razões para usar
Rápido
Fácil
Gratuito
Raramente ocorre perdas de dados
Muito mais performático e flexível que os principais rivais do
mercado.
Diferente dos principais
=/=
Sou o
SVN
Sou o
CVS
Um pouco sobre a estrutura
Um pouco sobre a estrutura
tag
tree
blob
commit
Um pouco sobre a estrutura
tag
É usada geralmente para lançar uma versão
Um pouco sobre a estrutura
tree
Representa o conteúdo de um diretório ou subdiretório
Um pouco sobre a estrutura
blob
Em geral representa o conteúdo de um arquivo
Um pouco sobre a estrutura
commit
Representa um commit e as informações sobre o commit
Areas do git
Repository
Index
Staging area
Working area
Areas do git
Repository
Index
Working area
git add .
Areas do git
Repository
Index
git commit -m ...
Areas do git
Repository
Index
git merge
Working area
staging area
Começando...
git init <--options>: inicia um novo repositório
--bare (sem working area)
Começando...
git remote <--options> <name> <url> : cria uma trilha local
com um branch remoto.
git remote add origin <url>: opção mais comum
Começando...
git clone <url> <--options> <dirname> : copia um branch para a
pastal atual ou para a definida em <dirname>
Começando...
git config --global user.name <nome>
git config --global user.email <nome>
Branches e stashes
Branches e stash
git stash <command> <--options>: Cria um stash e por padrão
descarta as alterações feitas no INDEX.
git stash <sem parâmetros>: cria um novo stash.
git stash save: salva as alterações do stash
git stash pop: aplica as alterações no stash e o exclui.
Branches e stashes
git branch <--option> <name>: cria um branch .
git brach list: lista todos os branches
git checkout -b <name> <remote>: Cria um branch local
baseado em um remoto e o coloca como atual.
Trazendo novas alterações
git fetch <--options> <repository>: Atualiza o repositório local
mas sem aplicar as alterações na working area.
git pull <--options> <repository> :Atualiza o repositório local e a
working area.
Misturando as coisas
Misturando as coisas
git merge <--options> <-strategy> <message> ...etc: Junta as
alterações realizadas em commits, branches(locais ou remotos) em
relação ao último commit. Cria um commit extra com essa
junção.
git rebase <--options> ...etc: Junta as alterações em commits,
branches(locais ou remotos) em relação ao primeiro commit do
branch. Alinha os commits no trunk.
Misturando as coisas
Misturando as coisas
Ferramentas alternativas
Eclipse IDE plugin (egit);
Tortoise GIT ;
Net Beans IDE plugin (NbGit);
Git Sharp;
Xcode;
Wikipidea:
http://en.wikipedia.org/wiki/Git_%28software%29
Screen cast "Começando com o git" por Fábio Akita
Livro "getting god with git" por Andrew Burguess e editora
Rockable Expre.
Git public book por Scott Chacon e todos os seus diversos
autores citados em sua primeira páginas.

Git presentation