Git + git hub
Upcoming SlideShare
Loading in...5
×
 

Git + git hub

on

  • 4,446 views

Introdução ao GIT e Github, para o devdell

Introdução ao GIT e Github, para o devdell

Statistics

Views

Total Views
4,446
Views on SlideShare
4,446
Embed Views
0

Actions

Likes
7
Downloads
113
Comments
2

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Git + git hub Git + git hub Presentation Transcript

  • GIT + GitHub
    Sistema de Controle de Versão Distribuído + Code Sharing
    Mauricio Wolff
  • Controle de Versão
    SCMS permitem vários desenvolvedores simultâneos, preservam milestones do código e automatizam o backup.
    Podem ser:
  • Terminologia
    Repository
    Local onde ficam os arquivos e alterações feitas
    Revision
    Ou version, o estado de toda a tree do repositório num tempo específico
    Diff, Delta
    Somente as alterações feitas
    Checkout
    Criar uma cópia local do repositório
    Commit
    Envio de dados para o repositório
    Conflict
    Diferentes usuários alterando as mesmas linhas nos arquivos
    Working Copy
    Cópia local (checked out)
    Tag
    Snapshot do repositório, para facilidade de manutenção
    Trunk
    Linha principal do projeto, que não é um branch
    Branch
    Linha alternativa de desenvolvimento, pode ser uma feature ou um branch experimental
  • Trunk, Tags, Branches
    Tag v3
    Tag v2
    Test Branch
    Feature 1 Branch
    Tag v1
    Trunk
  • Modelo Centralizado
    • Dependência de Rede
    • File Lock
    • Backup no Server
    • Difícil de usar merge e branches
    • Branches e Tags são na verdade cópias do repositório
  • Modelo Distribuído
    • Não precisa de Rede
    • Cada clone é o repositório completo
    • Múltiplos Backups
    • Merges locais/remotos
    • Branches e Tags são somente uma referência, não cópias
    • Não existe um trunk, a não ser por convenção
    1
    1
    1
    2
    2
    3
    3
  • História do GIT
    Criado por Linus Torvalds em 2005
    Alternativa ao BitKeeper, usado para manter o Linux Kernel
    Simplicidade e rapidez!
  • Instalando GIT no Windows
    • Download: http://code.google.com/p/msysgit/
    • Instalar, com a opção de usar o Command Prompt
  • Instalando GIT no Windows
    • Gerar a chave ssh para o github.com
    • Configurar o ~/.gitconfig
    [color]
    ui = true
    [color "diff"]
    whitespace = red reverse
    [diff]
    renames = true
    [alias]
    s = status
    d = diff
    ci = commit -v
    cia= commit -v -a
    co = checkout
    cp= cherry-pick
    p = push
    l = log
    ll= log -p
    lt= log trunk..
    llt= log -p trunk..
    lm = log master..
    llm= log -p master..
    b = branch
    who = shortlog -s –
    [user]
    name = "Mauricio Wolff"
    email = mauricio_wolff@dell.com
    [push]
    default = matching
  • Inscrição no GitHub
    • Projetos Open Source = free
    • Copiar a chave SSH e mais config
    $ gitconfig --global core.autocrlfinput
  • Criando o primeiro Projeto
  • Criando o primeiro Projeto
  • Criando o primeiro Projeto
  • Alterando localmente, atualizando
  • Branching
  • Remote Branching
  • Merging
  • Remote Merging
  • Remote Merging
  • Branch Diff
    $ git diff bonsai
  • GIT Cheat Sheet
    Criar
    git init
    git add [. ou -A]
    git clone [~/, git://, ssh://, http://]
    Mostrar
    git status
    git diff [$id1, $id2 ou $branch]
    git log [-1]
    git blame $file
    git show $id
    git show $id:$file
    git branch (mostra todos)
    Adicionar ao Stage
    git add [-A, -u, -i]
    Consertar
    git reset --soft HEAD^ (ctrl + z)
    git commit –a –-amend (refaz)
    Branches
    git checkout $branch
    git merge $branch
    git branch $nome
    git branch –d $nome
    Update
    git fecth
    git pull [remote]
    git am -3 patch.file
    Publish
    git commit –a
    git format-patch origin
    git push [remote, branch]
    git tag v1.0
    Úteis
    git fsck
    git gc --prune
  • Referências
    http://git-scm.com/
    http://github.com/
    http://help.github.com/
    http://github.com/guides/git-cheat-sheet
    Linus Torvalds on GIT: http://j.mp/3M94sb
    Git - SVN Crash Course: http://git.or.cz/course/svn.html
    A Git/TFS bridge: http://github.com/spraints/git-tfs
  • Q&A
    Olha o tempo antes...