Git e Github - Comandos e conceitos básicos

Preview:

DESCRIPTION

Apresentação sobre desenvolvimento de software para a disciplina Composição e Projetos na ETEC Padre Carlos Leoncio. Apresentado por: Jonathan Célio, Ronald Esteferson, Lion Ewerton e Marcela Silvestre

Citation preview

GERENCIAMENTO DE CODIGO

Armazenamento Backup

x x

GERENCIAMENTO DE CÓDIGO

PORQUE GERENCIAR UM CÓDIGO ?

• O que produzimos é software

• Para ter qualidade, é necessário o código ter de qualidade

TRÊS CONCEITOS

Compartilhar o código !Acompanhar as mudanças !Criando ramificações

COMO?

COMO COMPARTILHAR O CÓDIGO?

LOCK - MODIFY - UNLOCKbloquear - modificar - desbloquear

O problema está aqui

COPY - MODIFY - MERGEcopiar - modificar - fundir

A importancia de versionar um projeto

UMA BREVE HISTÓRIA DO GIT

• Kernel (núcleo) do Linux (1991 - 2002)

• Parceria/Desfazendo relacionamento com BitKeeper

• Criação de um novo projeto, que será o GIT

OBJETIVOS• Velocidade

• Design simples

• Suporte robusto a desenvolvimento não linear (milhares de branches paralelos)

• Totalmente distribuído

• Capaz de lidar eficientemente com grandes projetos como o kernel do Linux (velocidade e volume de dados)

• Concepção em 2005 - popularidade

HOSPEDAGEM DE CÓDIGO FONTE

• BerliOS

• GitHub

• GNU Savannah

• Google Code

• Bitbucket

PROJETOS QUE USAM GITAndroid52

Arch Linux

Debian58

git66 GIMP67

jQuery75

Linux kernel

Linux Mint78 79

PHP93

Xiph110

Yahoo! UI Library112

Zend Framework113

Compatível com: Windows, Solaris, Linux e Mac

Chris Wanstrath, Tom Preston-Werner e PJ Hyett

Lançado em abril de 2008

Formatos suportados: Markdown, ASCIIIDoc, POD e Roff

Compartilhar seus projetos

Utilizar como portifólio

Integração com o Git

Fazer network e amigos

Aprender e colaborar

5 MOTIVOS PELO QUAL VALE A PENA COMEÇAR A USAR GITHUB

COMENTÁRIOS

• Manter o repositório Git publico ou privado (privado precisa de conta paga)

• Wiki

• Code Review

• Rede social de desenvolvedores

LOCAIS DE OPERAÇÃO

Working Directory (Diretório de Trabalho)

Staging Area (Área de Preparação)

Repository or Git Directory (Diretório de Trabalho)

WORKING DIRECTORY

• Diretório local

• São armazenados os arquivos modificados e não modificados

STAGING AREA

• Área de preparação

• Arquivos que poderão “commitados" (consolidados)

• Snapshot

REPOSITORY

• Local mais importante

• Onde se encontra os arquivos commitados

• Segurança

• Fim da linha

REPOSITORY

Local ou Online?

COMANDOS BÁSICOS

Configurações de usuário

Inicialização e clonagem de repositórios

Analise de repositório

Trabalhando com os locais de operação

CONFIGURAÇÕES DE USUÁRIO

Define o nome que o identificará para créditos em um histórico de revisão de versão.

git config —global user.name “[firstname lastname]"

Define um endereço de e-mail que será associado com cada marcador histórico.

git config —global user.email “[email_valido]”

Define auto-coloração das linhas de comando para o Git, facilitando a revisão

git config —global color.ui auto

INICIALIZAÇÃO E CLONAGEM DE PROJETOS

Inicializa um diretório existente como um repositório Git

git init

Obtém um repositório inteiro de um local hospedado via URL

git clone [url]

ANÁLISE DE REPOSITÓRIO

Apresenta as informações do fluxo de trabalho

git status

Apresenta os arquivos que foram modificados mas não foram preparados

git diff

Apresenta os arquivos preparados que ainda não foram commitados

git diff —staged

Apresenta todas as comutações e os histórico dos branchs

git log

TRABALHANDO COM OS LOCAIS DE OPERAÇÃO

Prepara arquivos para a consolidação

git add

Retira arquivos preparados da área de preparação

git reset

Consolida arquivos preparados como um snapshot

git commit -m “mensagem de descrição”

Envia todos os arquivos commitados como snapshot para o repositório

git push

Recebe todos os arquivos consolidares do repositório para o diretório de trabalho

git pull

REFERENCIASExpert's Voice in Software Development - http://git-scm.com/book/pt-br/

Git Cheat Sheet - https://help.github.com/articles/git-cheatsheet

GIT e o Mercado - http://www.youtube.com/watch?v=-WvzRmi5nNI

Para que serve o git - http://www.contagia.com.br/blog/git-pra-que-serve/

Iniciando no Git - http://tableless.com.br/iniciando-no-git-parte-1/

Livro oficial Git - http://git-scm.com/book/pt-br

Modelos de versionamento - http://svnbook.red-bean.com/en/1.0/ch02s02.html