Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Introdução ao Git - Conceitos Básicos

No description
by

Wilian Stancke

on 22 March 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Introdução ao Git - Conceitos Básicos

Definições


Repositório;
Check in, Commit;

Check out;

Trunk e Branches;

Diff;
Merge;

Conflito; Controle de Versão


Controle de Versão Distribuído



Origem do Git INTRODUÇÃO
AO O QUE É? POR QUE GIT? FLUXOS DE TRABALHO CONCEITOS BÁSICOS GIT Repositórios
Object Store
Index
Commit
Diff
Branch
Merge
Push, Fetch e Pull Wilian Stancke REFERÊNCIAS 1. Desenvolvimento descentralizado facilitado;

2. Escalabilidade;

3. Responsabilização;

4. Imutabilidade;

5. Atomicidade;

6. Repositórios completos;
REPOSITÓRIOS Possui todas as informações para se manter e controlar o histórico e as revisões de um projeto;

Cópia completa de todo histórico de um projeto: tanto dos arquivos quanto do próprio repositório;
$ git init

$ git clone git://github.com/schacon/simplegit.git OBJECT STORE Todas as informações necessárias para reconstruir qualquer versão ou branch do projeto;

"Content-Addressable Names";
Blobs

Árvores

Commits

Diferenças vs. Snapshots INDEX Estrutura dos arquivos do repositório em um certo momento;

Permite separação entre desenvolvimento incremental e Commits;

Facilita o Merge;

Arquivos Tracked, Untracked e Ignored; COMMIT Grava um snapshot do Index e o coloca no Object Store;

Cria novos objetos apenas para arquivos modificados;

Histórico de mudanças representado como sequência de Commits, cada um apontando para o anterior;

Introduz mudanças de maneira atômica;

Cada Commit possui um nome globalmente único. DIFF Informa a diferença entre dois objetos Árvore, como por exemplo o Index, o diretório de trabalho ou qualquer Commit;

Compara o conteúdo dos arquivos: por linhas. BRANCH Cada branch possui todos os Commits necessários para que seja reconstruída toda a história do projeto sob o ponto de vista daquele branch.

Quando um repositório possui mais de um branch, um Commit é aplicado no branch ativo no momento;

Topic, Remote Branches e Repositorios Remotos. MERGE Une dois ou mais históricos de Commits (branches);

Deve ocorrer entre branches do mesmo repositório;

Resulta em um novo objeto Árvore com arquivos unidos e um novo Commit para refletir o novo estado;

Pode resultar em conflito, quando Commits diferentes alteram a mesma linha de um mesmo arquivo. PUSH, FETCH E PULL : gerenciar conjunto de repos. remotos

: obtém mudanças (objetos e seus metadados) de um repositório remoto e as armazena nos branches remotos correspondentes do repositório local;

: faz um Fetch e tenta fazer Merge no branch atual;

: envia objetos e seus metadados para um repositório remoto. PRINCIPAIS COMANDOS Mostra arquivos que:
Apresentam diferenças entre index e o “commit atual” (HEAD);

Apresentam diferenças entre diretório de trabalho e index;

Não estão sendo “rastreados” pelo git. git status git add Adiciona arquivos ao index para que sejam
commitados;

Permite mais precisão nos Snapshots. PRINCIPAIS COMANDOS Realiza o Commit após mudanças terem sido registradas no Index;
Associa Commit com uma mensagem, e dados do autor; git commit git log Histórico de Commits do branch atual; PRINCIPAIS COMANDOS Diferença entre o diretório de trabalho e o Index;

Mostra o que foi modificado e portanto é candidato a ser incluído no próximo Commit, após ser adicionado ao Index (git add); git diff git diff <commit ID> Diferença entre o diretório de trabalho e um determinado commit; git diff <commit ID 1> <commit ID 2> Diferença entre dois Commits; PRINCIPAIS COMANDOS
lista branches locais;

lista branches remotos; git branch git checkout <nome do branch> Muda estrutura do diretório de trabalho para se igualar ao branch especificado. (sem parametros) -r git branch <nome do branch> Cria um novo branch a partir do último Commit do branch atual; PRINCIPAIS COMANDOS git merge Insere contexto de outro branch em seu branch atual, automaticamente resolvendo como melhor combinar os diferentes snapshots;

Conflitos são marcados para serem resolvidos pelo desenvolvedor. PRINCIPAIS COMANDOS: git remote

git fetch <remote>



git pull <remote> <branch>


git push <remote> <branch> Apenas Local ou Repositório Centralizado;


“Gerente de Integração”;
Git vs. SVN Testado em um mesmo ambiente utilizando um projeto Ruby e efetuando operações semelhantes.
http://gitref.org/
ftp.newartisans.com/pub/git.from.bottom.up.pdf
http://book.git-scm.com/
http://progit.org/book/
http://gitcasts.com/
http://schacon.github.com/git/everyday.html
http://spheredev.org/wiki/Git_for_the_lazy
http://www.technovelty.org/code/linux/git-model.html
http://www.eecs.harvard.edu/~cduan/technical/git/
http://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html
https://github.com/schacon/git-presentations
http://git.or.cz/course/svn.html
http://whygitisbetterthanx.com/
http://www.ericsink.com/scm/source_control.html
http://betterexplained.com/articles/a-visual-guide-to-version-control/
http://en.wikipedia.org/wiki/Version_control
http://en.wikipedia.org/wiki/Distributed_revision_control e material de estudo
Full transcript