Maior controle do seu projeto de maneira
              rápida e fácil
Quem sou
●   Costumo dizer que sou apenas
    um ex-frentista que resolveu
    estudar desenvolvimento de
    softwares;


●   Trabalho com desenvolvimento
    desde 2008;


●   Faço parte do time de
    desenvolvimento da Defensoria
    Pública do Estado do Ceará;


●   Gosto de comics, filmes e futebol
    americano.
Sistema de Controle de
                      Versão
                       (version control system)




Software com a finalidade de gerenciar diferentes
versões de um documento.

Utilizado nos ambientes de desenvolvimento de
softwares para controlar as diferentes versões e
registrar o histórico do código-fonte
Características

Ênfanse em velocidade;

Cada clone de um projeto que usa git é um repositório
completo;

Não depende de acesso a rede ou um servidor central;

Repositórios podem ser publicados via HTTP, FTP, rsync,
ou pelo protocolo proprio do git;

Software Livre sobre a licença GNU General Public
License v2.
Sistemas suportados



Git  tem   versões       para
Windows, Mac e Linux.

Para instalar basta ir ao site
git-scm.com e clicar no link
referente ao seu sistema.
Hands On!
Setando as configurações
                           globais
$ git config ­­global user.name "Seu Nome"

$ git config ­­global user.email “seu@email.com”
Criando o projeto

$ mkdir git_tutorial      #criando o diretório do projeto

$ cd git_tutorial

$ touch file1             #criando um arquivo no projeto

$ git init             #iniciando um repositório no diretório criado
Initialized empty Git repository in $ /git_tutorial/.git/

$ git add .     #adicionando todos os arquivos que existem no projeto

$ git commit #irá abrir um prompt para colocar a descrição do seu 
commit
Commit

$ git commit
[master (root­commit) cb7cfe0] First commit of git_tutorial, add 

file1 in project.
 0 files changed, 0 insertions(+), 0 deletions(­)
 create mode 100644 file1

$ touch file2 file3 file4    #criando outros arquivos no projeto

$git add file2 file3 file4

$ git status #retorna as alterações que fiz desde o último commit
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# new file:   file2
# new file:   file3
# new file:   file4
Commit

$ git commit ­m 'Add file2, file3 e file4 in project'

[master 9f7a0d3] Add file2, file3 e file4 in project
 0 files changed, 0 insertions(+), 0 deletions(­)
 create mode 100644 file2
 create mode 100644 file3
 create mode 100644 file4
Visualizando o histórico
                       do projeto
$ git log

commit 9f7a0d3f70b92bf587eeb37e9986673adf508b3d
Author: Giordano Alves <giordanofalves@gmail.com>
Date:   Sun Mar 20 16:24:02 2011 ­0300

    Add file2, file3 e file4 in project

commit cb7cfe096318158766aa5a21eae74132e0218613
Author: Giordano Alves <giordanofalves@gmail.com>
Date:   Sun Mar 20 16:05:16 2011 ­0300

    First commit of git_tutorial, add file1 in project.
Trabalhando com branchs

$ git branch desenvolvimento   #cria o branch desenvolvimento

$ git branch #retorna todos os branchs existentes.
  desenvolvimento
* master

$ git checkout desenvolvimento
Switched to branch 'desenvolvimento'

$ git branch
* desenvolvimento
  master

$ vim file1 #edite o arquivo file1

$git commit ­a ­m 'Changes in file1'
[desenvolvimento ec83f94] Changes in file1
 1 files changed, 1 insertions(+), 0 deletions(­)
 
Trabalhando com branchs

$ git checkout master
Switched to branch 'master'

$ git branch
  desenvolvimento
* master

$ vim file1

$ git commit ­a ­m 'Changes in file1'
[master c3cf3fd] Changes in file1
 1 files changed, 1 insertions(+), 0 deletions(­)

 
Trabalhando com branchs

$ git merge desenvolvimento 
Auto­merging file1
CONFLICT (content): Merge conflict in file1
Automatic merge failed; fix conflicts and then commit the result.

$ git diff
diff ­­cc file1
index 1e67d38,930c40d..0000000
­­­ a/file1
+++ b/file1
@@@ ­1,1 ­1,1 +1,5 @@@
++<<<<<<< HEAD
 +Alterações no file1 do branch master
++=======
+ Estou alterando o arquivo file1
++>>>>>>> desenvolvimento
Trabalhando com branchs

$ vim file1  #altere file1 igual a desenvolvimento

$ git commit ­a ­m 'Merge branch desenvolvimento'

$ git merge desenvolvimento
Already up­to­date.
Alternando as versões

$ git log

$ git checkout 9f7a0d3f70b92bf587eeb37e9986673adf508b3d
Previous HEAD position was b229624... Descrição do Commit
HEAD is now at 9f7a0d30b... Descrição do Commit
Clonando um repositório

$ git clone root@192.168.0.15:/path_for_repository/project 
my_repository
github
O que é?
●   Social networks para desenvolvedores;

●   Fácil para contribuir e compartilhar projetos;
●
Perguntas?




“Se um dia alguém descobrir para que serve o universo e por que
ele está aqui, ele desaparecerá instantaneamente e algo ainda mais
estranho e improvável o substituirá”
Obrigado!
  @giordanofalves

    guruce.org

Git Rápido e Fácil

Notas do Editor

  • #9 Aqui criaremos o diretório do projeto, colocamos um arquivo no projeto e iniciamos um repositório com o comando git init. Depois executamos o comando gitt add . Para adicionar todos os arquivos do projeto no repositório. Executamos o comando git commit para abrir o prompt e colocar a descriço do commit.
  • #10 Aqui criaremos o diretório do projeto, colocamos um arquivo no projeto e iniciamos um repositório com o comando git init. Depois executamos o comando gitt add . Para adicionar todos os arquivos do projeto no repositório. Executamos o comando git commit para abrir o prompt e colocar a descriço do commit.
  • #11 Retorno do commit, mostra algumas informação como o branch que estou usandoe a descrição do commit
  • #12 Você pode colocar a descrição já no comando commit, basta adicionar o parametro -m e pássar a descrição como string
  • #13 Você pode colocar a descrição já no comando commit, basta adicionar o parametro -m e pássar a descrição como string
  • #14 O parametro -a adiciona automaticamente os arquivos novos e qualquer alteração que foi feita nos arquivos do projeto, semelhante ao comando git add.
  • #15 O parametro -a adiciona automaticamente os arquivos novos e qualquer alteração que foi feita nos arquivos do projeto, semelhante ao comando git add.
  • #16 O parametro -a adiciona automaticamente os arquivos novos e qualquer alteração que foi feita nos arquivos do projeto, semelhante ao comando git add.
  • #17 O parametro -a adiciona automaticamente os arquivos novos e qualquer alteração que foi feita nos arquivos do projeto, semelhante ao comando git add.
  • #18 O parametro -a adiciona automaticamente os arquivos novos e qualquer alteração que foi feita nos arquivos do projeto, semelhante ao comando git add.