O que é sistema de
controle de versão?
O controle de versão é um
sistema que registra as
mudanças feitas em um
arquivo ou um conjunto de
arquivos ao longo do tempo
de forma que você possa
recuperar versões específicas.
• reverter arquivos para um estado
anterior;
• reverter um projeto inteiro para um
estado anterior;
• comparar mudanças feitas ao decorrer
do tempo;
• ver quem foi o último a modificar algo
que pode estar causando problemas;
O que é sistema de
controle de versão?
Utilizando VCS
Localmente
Utilizando VCS
Remotamente
Utilizando VCS Distribuído
Ferramentas
O que é Git?
Git é gratuito e de código aberto
distribuído projetado para lidar com
tudo, desde pequenos à grandes
projetos com rapidez e eficiência.
Inicialmente projetado e desenvolvido por Linus
Torvalds para o desenvolvimento Linux kernel.
Design Goals
● Rápido
● Design simples
● Suporte ao desenvolvimento não linear
● Totalmente distribuído
● Capaz de lidar com grandes
projetos.
● (Linux kernel 3.6 15.9 SLOC
(Million)
Git Básico
Configurando um repositório Git
git init
O comando git init
inicializa um novo
repositório Git. Se
você quiser colocar
um projeto dentro do
controle de versão,
este é o primeiro
comando que você
precisa aprender
git init <diretório>
git clone
O comando git clone
cria uma cópia de um
repositório git existente.
A clonagem é a forma
mais comum
para os
desenvolvedores a
obter um ambiente de
trabalho com a
cópia de um repositório
central.
git clone <repo> <diretório>
Git Básico
Gravando snapshots
git add
O comando git add
move alterações do
trabalho diretório para
a área de teste. Este
dá-lhe a oportunidade
de preparar um
snapshot antes de
“commitar” para a
master.
git add <file/diretório>
git commit
O comando git
commit adiciona
ao log o estado
atual de uma
determinada
branch.
git commit -m <mensagem>
git status
O comando git
status exibe o
estado do diretório
de trabalho. Você vai
desejar executar este
em conjunto com git
add e git commit
para ver exatamente
o que vai ser incluído
no próximo snapshot.
git status
git checkout
O comando git
checkout possui
três diferentes
funções:
- Checkout de
arquivos
- Checkout commits
- Checkout branches
git checkout <commit/branch>
Desfazendo alterações
Desfazendo alterações públicas
git revert
O comando git
revert é utilizado
quando um commit
errôneo é encontrado,
revertê-lo é uma
maneira fácil e
segura de corrigir o
código base.
git revert <commit>
Desfazendo alterações
Desfazendo alterações locais
git reset
O comando git
reset é utilizado
quando deseja
desfazer mudanças
nos arquivos do
diretório de
trabalho.
git reset <options> <file>
git clean
O comando git
clean remove
arquivos que
não estão no
repositório.
git clean <diretório>
Git Branches
git branch
O comando git
branch permite
criar ambientes de
desenvolvimento
isolados dentro de
um mesmo
repositório.
git branch <branch>
git checkout
O comando git
checkout permite
navegar entre os
branches
existentes.
git checkout <options> <branch>
git merge
O comando git
merge permite
integrar as
mudanças feitas
em ramos
diferentes.
git merge <options> <branch>
Remote Repositories
git remote
O comando git
remote é conveniente
para administrar
conexões remotas.
Em vez de passar as
URL completas para os
comandos fetch, pull,
push, ele permite que
use um atalho.
git remote <options>
git fetch
O comando git
fetch procura baixar
um branch de outro
repositório e permite
ao usuário verificar
as mudanças antes
de fazer um merge
com o projeto atual.
git fetch <remote> <branch>
git pull
O comando git
pull baixa um
branch de um
repositório e faz
automaticamente
um merge ao
projeto atual.
git pull <options> <remote>
git push
O comando git
push permite
mover um branch
local para algum
outro repositório.
git push <remote> <branch>
Demo

Learn about Git - Git Tutorial

  • 2.
    O que ésistema de controle de versão? O controle de versão é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que você possa recuperar versões específicas.
  • 3.
    • reverter arquivospara um estado anterior; • reverter um projeto inteiro para um estado anterior; • comparar mudanças feitas ao decorrer do tempo; • ver quem foi o último a modificar algo que pode estar causando problemas; O que é sistema de controle de versão?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    O que éGit? Git é gratuito e de código aberto distribuído projetado para lidar com tudo, desde pequenos à grandes projetos com rapidez e eficiência. Inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento Linux kernel.
  • 9.
    Design Goals ● Rápido ●Design simples ● Suporte ao desenvolvimento não linear ● Totalmente distribuído ● Capaz de lidar com grandes projetos. ● (Linux kernel 3.6 15.9 SLOC (Million)
  • 10.
  • 11.
    git init O comandogit init inicializa um novo repositório Git. Se você quiser colocar um projeto dentro do controle de versão, este é o primeiro comando que você precisa aprender git init <diretório>
  • 12.
    git clone O comandogit clone cria uma cópia de um repositório git existente. A clonagem é a forma mais comum para os desenvolvedores a obter um ambiente de trabalho com a cópia de um repositório central. git clone <repo> <diretório>
  • 13.
  • 14.
    git add O comandogit add move alterações do trabalho diretório para a área de teste. Este dá-lhe a oportunidade de preparar um snapshot antes de “commitar” para a master. git add <file/diretório>
  • 15.
    git commit O comandogit commit adiciona ao log o estado atual de uma determinada branch. git commit -m <mensagem>
  • 16.
    git status O comandogit status exibe o estado do diretório de trabalho. Você vai desejar executar este em conjunto com git add e git commit para ver exatamente o que vai ser incluído no próximo snapshot. git status
  • 17.
    git checkout O comandogit checkout possui três diferentes funções: - Checkout de arquivos - Checkout commits - Checkout branches git checkout <commit/branch>
  • 18.
  • 19.
    git revert O comandogit revert é utilizado quando um commit errôneo é encontrado, revertê-lo é uma maneira fácil e segura de corrigir o código base. git revert <commit>
  • 20.
  • 21.
    git reset O comandogit reset é utilizado quando deseja desfazer mudanças nos arquivos do diretório de trabalho. git reset <options> <file>
  • 22.
    git clean O comandogit clean remove arquivos que não estão no repositório. git clean <diretório>
  • 23.
  • 24.
    git branch O comandogit branch permite criar ambientes de desenvolvimento isolados dentro de um mesmo repositório. git branch <branch>
  • 25.
    git checkout O comandogit checkout permite navegar entre os branches existentes. git checkout <options> <branch>
  • 26.
    git merge O comandogit merge permite integrar as mudanças feitas em ramos diferentes. git merge <options> <branch>
  • 27.
  • 28.
    git remote O comandogit remote é conveniente para administrar conexões remotas. Em vez de passar as URL completas para os comandos fetch, pull, push, ele permite que use um atalho. git remote <options>
  • 29.
    git fetch O comandogit fetch procura baixar um branch de outro repositório e permite ao usuário verificar as mudanças antes de fazer um merge com o projeto atual. git fetch <remote> <branch>
  • 30.
    git pull O comandogit pull baixa um branch de um repositório e faz automaticamente um merge ao projeto atual. git pull <options> <remote>
  • 31.
    git push O comandogit push permite mover um branch local para algum outro repositório. git push <remote> <branch>
  • 32.