git & git hub

Download Git & git hub

Post on 12-Apr-2017

614 views

Category:

Technology

4 download

Embed Size (px)

TRANSCRIPT

Git e GitHub

EquipePiloto: Ricardo Kovalski CruzCopiloto: Alisson Vieira

O que o Git?VCS descentralizado.

Qual a finalidade?Ter maior controle sobre as verses de um sistema.

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

Qual o conceito de armazenamento de arquivos?Snapshots.

Breve Histrico1991 - 2002: Perodo em que o kernel do Linux sofreu manutenes;2002: O projeto do kernel do Linux comeou a utilizar um sistema DVCS propritario, o BitKeeper;2005: O relacionamento entre a comunidade do Linux e a empresa do Bitkeeper se desfez;

Foi ento que a comunidade de desenvolvedores (em particular Linus Tovards) resolveram desenvolver a sua prpria ferramenta, baseando-se nas lies aprendidas quando utilizaram o BitKeeper;

Alguns objetivosVelocidade;Design simples;Suporte robusto quanto a desenvolvimento no linear;Totalmente distribudo;Capaz de lidar eficientemente com grandes projetos, exemplo: Kernel;

Faa o Downloadhttps://git-scm.com/downloads

Configurando o seu Gitgit config --global user.name seu nomegit config --global user.email seu emailgit config --global color.ui true

Primeiros Passosmkdir novoDiretorio - Cria um novo diretrio;git init - Inicializa o novo diretrio;touch novoArquivo - Cria um novo arquivo;ls -la - Lista detalhadamente os arquivos;vim nomeArquivo - Abre o arquivo no editor padro do Linux;Tecle Insert para entrar no modo de digitao 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;

Os 3 estgiosUntracked Files - Arquivo no faz parte do controle de verso;Changes to be commited - Foi adicionado mas ainda no foi commitado;Nothing to commit - Gera um hash;

Untracked Filesgit add nomeArquivo - Adiciona o arquivo ao controle de verso;git add . - Adiciona todos os arquivos que ainda no fazem parte do controle de verso;

Changes to be commitedgit commit -m mensagem - Commita os arquivos;git commit nomeArquivo - Commita o arquivo especifico;git reset HEAD nomeArquivo - Retorna ao primeiro estgio;git commit -a -m mensagem - Adiciona e commita o(s) arquivo(s) modificados;

Voltando Commitsgit checkout hash - Volta o arquivo p/ verso especifica;git reset HEAD~1 - Volta x commits de acordo com o n informado aps 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 alteraes realizadas sero perdidas e o arquivo voltar exatamente como estava antes, desde que o mesmo no tenha sido commitado;

.gitignoreArquivo que ter caminhos de arquivos indesejados.Estes arquivos no aparecero no seu controle de verso e tambm no estaro mais aparecendo com o status de untrackfiles.

Exibindo logsgit log - Exibe os logs;git log -p - Exibe uma comparao entre as alteraes em cada arquivo;git log --stat - Exibe as estatsticas 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 descrio do commit;git log --since=2.days - Exibe os commits dos dois ltimos dias;

Branchgit 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;

Merge ou Rebasegit merge nomeBranch - Traz as mudanas 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 no reordena os commits e ainda muitas vezes gera um commit adicional p/ ser concludo, por outro lado, o rebase reordena os commits, no gerando assim um commit adicional;

Gerando as chaves e configurando o repositrio remotossh-keygen - Gerador de chaves: id_rsa private e id_rsa.pub public;

git remote add origin git@github.com:/.gitgit remote remove origin - Remove o origin existente

Push e Pullgit push origin master - Empurra os arquivos do branch master para o servidor origin;

OBS.: Quando clonamos um repositrio, 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

git pull - Verifica se todos os arquivos esto sincronizados;git pull origin master - Pucha as alteraes feitas que esto no repositrio remoto p/ o PC;

Tagsgit 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 especfica;git tag -d v0.1.0 - Remove o tag local;git push origin :refs/tags/v0.1.0 - Remove a tag do repositrio remoto;

Referenciashttp://rogerdudler.github.io/git-guide/index.pt_BR.htmlhttps://git-scm.com/documentation