git & git hub

21
Git e GitHub

Upload: ricokovalski

Post on 12-Apr-2017

721 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Git & git hub

Git e GitHub

Page 2: Git & git hub

Equipe

Piloto: Ricardo Kovalski CruzCopiloto: Alisson Vieira

Page 3: Git & git hub

● O que é o Git?VCS descentralizado.

● Qual a finalidade?Ter maior controle sobre as versões de um sistema.

● Quem pode utilizá-lo?Qualquer pessoa, desde empresas que queiram ter um controle sobre as versões de arquivos de seus projetos até pessoas que encontrem alguma utilidade no git.

● Qual o conceito de armazenamento de arquivos?Snapshots.

Page 4: Git & git hub

Breve Histórico● 1991 - 2002: Período em que o kernel do Linux sofreu manutenções;● 2002: O projeto do kernel do Linux começou a utilizar um sistema

DVCS propriétario, o BitKeeper;● 2005: O relacionamento entre a comunidade do Linux e a empresa do

Bitkeeper se desfez;

● Foi então que a comunidade de desenvolvedores (em particular Linus Tovards) resolveram desenvolver a sua própria ferramenta, baseando-se nas lições aprendidas quando utilizaram o BitKeeper;

Page 5: Git & git hub

Alguns objetivos● Velocidade;● Design simples;● Suporte robusto quanto a desenvolvimento não

linear;● Totalmente distribuído;● Capaz de lidar eficientemente com grandes

projetos, exemplo: Kernel;

Page 6: Git & git hub

Faça o Downloadhttps://git-scm.com/downloads

Page 7: Git & git hub

Configurando o seu Git● git config --global user.name “seu nome”● git config --global user.email “seu email”● git config --global color.ui true

Page 8: Git & git hub

Primeiros Passos● mkdir “novoDiretorio” - Cria um novo diretório;● git init - Inicializa o novo diretório;● touch “novoArquivo” - Cria um novo arquivo;● ls -la - Lista detalhadamente os arquivos;● vim “nomeArquivo” - Abre o arquivo no editor padrão do Linux;● Tecle Insert para entrar no modo de digitação e Esc para entrar no

modo de leitura;● ZZ ou :wq - Salva o arquivo e sai do editor;● git status - Exibe o status atual do arquivo, ou seja, untracked files;

Page 9: Git & git hub

Os 3 estágios● Untracked Files - Arquivo não faz parte do controle

de versão;● Changes to be commited - Foi adicionado mas

ainda não foi commitado;● Nothing to commit - Gera um hash;

Page 10: Git & git hub

Untracked Files

● git add “nomeArquivo” - Adiciona o arquivo ao controle de versão;

● git add . - Adiciona todos os arquivos que ainda não fazem parte do controle de versão;

Page 11: Git & git hub

Changes to be commited● git commit -m “mensagem” - Commita os arquivos;● git commit “nomeArquivo” - Commita o arquivo

especifico;● git reset HEAD “nomeArquivo” - Retorna ao

primeiro estágio;● git commit -a -m “mensagem” - Adiciona e

commita o(s) arquivo(s) “modificados”;

Page 12: Git & git hub

Voltando Commits● git checkout ‘hash’ - Volta o arquivo p/ versão especifica;● git reset HEAD~1 - Volta x commits de acordo com o nº informado

após o ~;● git reser HEAD~1 --soft - Desfaz o ultimo commit mas deixa o

arquivo pronto p/ ser commitado novamente;● git reset HEAD~1 --hard - Desfaz o ultimo commit

permanentemente;● git checkout -- “nomeArquivo” - Todas as alterações realizadas serão

perdidas e o arquivo voltará exatamente como estava antes, desde que o mesmo não tenha sido commitado;

Page 13: Git & git hub

.gitignore● Arquivo que terá caminhos de arquivos indesejados.● Estes arquivos não aparecerão no seu controle de

versão e também não estarão mais aparecendo com o status de untrackfiles.

Page 14: Git & git hub

Exibindo logs● git log - Exibe os logs;● git log -p - Exibe uma comparação entre as alterações em cada

arquivo;● git log --stat - Exibe as estatísticas de todos os logs;● git log --pretty=oneline - Exibe em uma linha os logs - (resumo);● git log --pretty-format:“%h - %an, %ar : %s” - Exibe o inicio do

hash, autor do commit, a quanto tempo o commit foi realizado e a descrição do commit;

● git log --since=2.days - Exibe os commits dos dois últimos dias;

Page 15: Git & git hub

Branch● git branch - Exibe a lista de branchs e informa o

atual;● git branch -a - Exibe branchs locais e remotos;● git checkout -b “nomeBranch” - Cria um novo

branch;● git checkout “nomeBranch” - Acessa o branch

informado;● git branch -D “nomeBranch” - Remove o branch;

Page 16: Git & git hub

Merge ou Rebase● git merge “nomeBranch” - Traz as mudanças do branch informado ao

branch principal (master);● git rebase “nomeBranch” - Organiza linearmente os commits na

ordem que eles foram realizados, mas fazendo tudo isso em um mesmo branch;

Resumindo, o merge não reordena os commits e ainda muitas vezes gera um commit adicional p/ ser concluído, por outro lado, o rebase reordena os commits, não gerando assim um commit adicional;

Page 17: Git & git hub

Gerando as chaves e configurando o repositório remoto

● ssh-keygen - Gerador de chaves: id_rsa é private e id_rsa.pub é public;

● git remote add origin [email protected]:<seuUser>/<seuReporitory>.git

● git remote remove origin - Remove o origin existente

Page 18: Git & git hub

Push e Pull● git push origin master - Empurra os arquivos do branch master para o

servidor origin;

OBS.: Quando clonamos um repositório, estamos clonando apenas o branch master. Para clonar os demais branchs devemos criar localmente os mesmos e colocar o caminho a partir do qual queremos copiar.

Ex.: git checkout -b “funcionalidade2” origin/funcionalidade2

Page 19: Git & git hub

● git pull - Verifica se todos os arquivos estão sincronizados;

● git pull origin master - Pucha as alterações feitas que estão no repositório remoto p/ o PC;

Page 20: Git & git hub

Tags● git tag v0.1.0 - Cria uma nova tag;● git tag -l - Lista todas as tags existentes no sistema;● git push origin master --tags - Sobe todas as tags existentes do

sistema;● git push origin mastes v0.1.0 - Sobe a tag específica;● git tag -d v0.1.0 - Remove o tag local;● git push origin :refs/tags/v0.1.0 - Remove a tag do repositório

remoto;

Page 21: Git & git hub

Referencias● http://rogerdudler.github.io/git-guide/index.pt_BR.html● https://git-scm.com/documentation