Git Rápido e Fácil
-
Upload
giordano-alves -
Category
Technology
-
view
396 -
download
4
Transcript of Git Rápido e Fácil
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 “[email protected]”
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 criadoInitialized 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
$ git commit[master (rootcommit) 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
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 9f7a0d3f70b92bf587eeb37e9986673adf508b3dAuthor: Giordano Alves <[email protected]>Date: Sun Mar 20 16:24:02 2011 0300
Add file2, file3 e file4 in project
commit cb7cfe096318158766aa5a21eae74132e0218613Author: Giordano Alves <[email protected]>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 desenvolvimentoSwitched 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()
$ git checkout masterSwitched 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 Automerging file1CONFLICT (content): Merge conflict in file1Automatic merge failed; fix conflicts and then commit the result.
$ git diffdiff cc file1index 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 desenvolvimentoAlready uptodate.
Trabalhando com branchs
$ git log
$ git checkout 9f7a0d3f70b92bf587eeb37e9986673adf508b3dPrevious HEAD position was b229624... Descrição do CommitHEAD is now at 9f7a0d30b... Descrição do Commit
Alternando as versões
Clonando um repositório
$ git clone [email protected]:/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