7. Como Desenvolver o Projeto?
Esta ideia é brilhante acredito que posso realizar sozinho
Assim ficarei com todo dinheiro que ganhar sem precisar dividir
DESENVOLVEDOR INDIVIDUAL
8. Como Desenvolver o Projeto?
Temos pessoal capacitado para realizar o projeto?
Temos recursos suficientes para bancar o projeto?
EMPRESA
26. Introdução ao GIT
- Sistema de Controle Distribuído;
- Inicialmente projetado para o de- senvolvimento do kernel do Linux;
- Seu criador Linus Torvalds.
29. Prática
a)Crie uma pasta na área de trabalho
b)Abra o Git Bash com botão direito
30. Terminal do Git - Navegação
a)Acessar uma pasta ou diretório
$ cd NomeDaPasta
b) Retrocedor diretório anterior
$ cd ..
c) Outros
$ mkdir pasta //cria uma pasta
$ touch file.txt // cria um arquivo
$ ls //lista arquivos e pastas do diretório
$ ls –a // com “-a” também arquivos ocultos
31. Prática
a)Crie um arquivo “seuNome.txt”
a)Insira as seguintes informações no arquivo com os seus dados :
$ touch seuNome.txt $ notepad seuNome.txt
I EIIFRO 2014 - Desenvolvimento Colaborativo de Software Participante: _ _ _ _ _ _ _ _ Email: _ _ _ _ _ _ _ _ _ _ _ _ Campus Origem: _ _ _ _ _ _
32. Prática
b) Inicie o repositório GIT
$ git config --global user.name “Seu nome Aqui”
$ git config --global user.email “seu_nome@exemplo.com”
a) Define as configurações globais
$ git init
34. Prática
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# seuNome.txt
nothing added to commit but untracked files present (use "git add" to track)
a) Ver status atual dos arquivos.
35. Exemplos
b) Adicionar todos do diretório atual
$ git add seuNome.txt
a) Adicionar um arquivo
$ git add .
c) Adicionar todos de um tipo
$ git add *.txt
36. Prática
$ git add --all
a) Adicionar todos arquivos do projeto
$ git add seuNome.txt $ git status # On branch master # Changes to be committed: # (use "git rm –cached <file>..." to unstage) # # new file: seuNome.txt #
37. Exemplo
$ git commit
a) Criando a primeira versão
l
# Please enter the commit message for your changes. Lines starting
# with ‘#’ will be ignored, and an empty message aborts the commit.
# On branch master
#
# Initial commit
#
# Changes to be committed
# new file: seuNome.txt
38. Prática
$ git commit –m “Commit Inicial”
a) Do jeito mais fácil
# [master (root-commit) 27a9d36] Commit Inicial
# 1 file changed, 4 insertions (+)
# create mode 100644 seuNome.txt
$ git status
b) Veja o status atual
On branch master nothing to commit, working directory clean
40. Prática
a)Salve e veja o status do arquivo.
$ git status
# On branch master
# Changes not staged for commit:
# (use “git add <file>...” to update what will be committed)
# (use “git checkout -- <file>...” to discard changes in work...
#
# modified: seuNome.txt
#
# no changes added to commit (use “git add” and/or ...)
41. Prática
a)Adicione para o próximo commit
$ git add seuNome.txt
b) E confirmar nova versão
$ git commit –m “Alteração no arquivo seuNome.txt”
42. Prática
a)Crie um pasta com nome “Casa”
$ mkdir Casa
a)Crie o arquivo despesas.txt
$ cd Casa $ touch despesas.txt $ notepad despesas.txt
43. Prática
a)Adicione o conteúdo
Supermercado R$ 182,60 Combustível R$ 250,00 Vestuário R$ 80,00 Farmácia R$ 67,00 Outros R$ 122,00
Faça todos os procedimentos necessários para confirmar a terceira versão do projeto.
$ git commit –m “add pasta ‘Casa’ e arquivo despesas.txt”
44. Prática
a)Verificando versões
$ git log
$ git log --pretty=oneline
9de55c49e83c8040537daa86b8ba098c5d559d46 Add da pasta 'Casa' e arquivo despesas.
87009612804e9a9a37dcddcc02064fe825ebc4be Alteração no arquivo AldisonDiego.txt
27a9d361341413c22666192158e27f050aae2732 Commit Inicial
b) De uma maneira limpa e resumida
45. Prática
Para cada versão confirmada, o GIT gera um hash alfanumérico de 40 caracteres, ou seja, o ID das versões.
87009612804e9a9a37dcddcc02064fe825ebc4be
46. As vezes acidentes ou erros acontecem.
a)Apague o conteúdo de seuNome.txt
$ notepad seuNome.txt
b) Salve e comite a quarta versão
$ git commit –a –m “seuNome.txt em branco”
47. Recuperando conteúdo
a)De volta ao passado
$ git reset --hard HEAD~1 (volta ao último commit)
b) Volta para o commit com a hash xx
git reset --hard XXXXXX
Obs: os primeiros 6 números do hash já são suficientes.
48. As vezes não é necessário incluir todos os arquivos no projeto
a)Crie o arquivo “inutil.txt”
$ touch inutil.txt
$ notepad inutil.txt
Este arquivo não é necessário fazer parte do projeto
a)Adicione o conteúdo e Salve-o
49. As vezes não é necessário incluir todos os arquivos no projeto
a)Veja o status
$ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # inutil.txt nothing added to commit but untracked files present (use "git add" to track)
50. As vezes não é necessário incluir todos os arquivos no projeto
$ touch .gitignore
a)Crie o arquivo “.gitignore”
.gitignore inutil.txt # pasta/ (use “/” para ignorar diretórios)
b) Adicione as seguintes informações
51. As vezes não é necessário incluir todos os arquivos no projeto
a)Veja novamente o status
$ git status # On branch master # nothing to commit, working directory clean
Em projetos que usam alguma ferramenta de desenvolvimento, alguns arquivos são configurações locais e devem ser ignorados.
53. Documentação do git
$ git log --help $ git status --help $ git commit --help $ git branch --help
Adicionando “--help” a frente do comando, o git abre no navegador a documentação completa sobre o comando.
54. Agora que você já aprendeu o básico do GIT, vamos conhecer o:
60. Vamos começar
Usuario@meupc ~/Desktop/projeto1 (master) $ cd .. Usuario@meupc ~/Desktop $
Crie um novo projeto, nomeie “treino”
$ git init treino
Navegue até o diretório “Desktop”
Usuario@meupc ~/Desktop/ $ cd treino
63. Github
#DCS - Desenvolvimento Colaborativo de Software# **I Encontro de Informática do Instituto Federal de Rondônia** ###Versão### ***1.0***
Edite o arquivo README.md, inserindo:
$ git commit -a -m “Add informações no arquivo Readme.md” $ git push origin master
Salve e digite os seguintes comandos
65. Facilitando a vida
Para isso, gere uma chave na sua máquina
Você não precisa ficar todo tempo fazendo “Login”, é possível através de uma conexão segura via SSH, permitir acesso aos repositórios da sua máquina
$ ssh-keygen -t rsa -C “aldison.dias@ifro.edu.br”
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/INFO-01/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
68. Inserindo a chave no Github
O github precisa saber que sua máquina é confiável através da chave gerada, para isso você deve informá-lo.
Repositório aldisondias
71. Define um título para chave e insira o conteúdo copiado de “id_rsa.pub”
72. Repositório remoto
Usuario@meupc ~/Desktop/treino (master) $ git remote rm origin
Volte ao projeto e remova o remote atual
Copie a URL SSH no Github
73. Repositório remoto
Usuario@meupc ~/Desktop/treino (master) $ git remote add origin git@github.com:aldisondias/Treino.git
Adicione a URL no seu projeto
Edite o arquivo README, inserindo:
... ###Autor### ***Aldison Dias*** //substitua pelo seu nome
74. Repositório remoto
Usuario@meupc ~/Desktop/treino (master) $ git commit -a -m “Add autor em readme.md” Usuario@meupc ~/Desktop/treino (master) $ git push origin master
Salve, comite e envie para o github
Agora, ficou fácil enviar uma nova versão do projeto para o repositório remoto do Github
76. FORK
Possibilita clonar repositórios de outras contas para a sua, assim você faz suas alterações sem depender do projeto original, porém há uma ligação.
UNWATCH (ASSISTIR) Permite você acompanhar o projeto, todas notificações presentes irão aparecer na sua timeline do github.
STAR
Com esta opção você irá premiar o projeto com uma estrela e torná-lo com uns dos projetos favoritos.
77. RELEASES Versões finais de objetivos concluídos do projeto
COMMITS Acompanhar, visualizar andamento das versões
BRANCH Por padrão, o git possui a branch “master”, essas branchs “ramas” permite subdividir o projeto para uma finalidade específica e não comprometer a principal “master”, que é a branch de produção.
CONTRIBUTORS Números de contribuidores no projeto
79. PULL REQUESTS
Recurso que permite que um usuário de projeto “fork” solicite ao administrador do projeto original, aceitar suas modifi- cações para o projeto principal.
Wiki
Construir a documentação do projeto
PULSE E GRAPHS
Estatísticas do projeto.
SETTINGS
Configurações do projeto.
83. Issues: seção de questões do projeto, um dos mais importantes recursos do Github, com ele você pode:
•Definir metas do projeto com “Milestone”;
•Lançar tarefas e atribuir aos seus colaboradores;
•Reportar erros, discutir problemas e solucioná-los junto aos colaboradores.
90. “Labels” ou etiquetas pode ter várias definições, as mais comuns:
•Bug: um erro de código, função etc.;
•Enhancement: melhoria a ser implementada.
•Front-end: codificação e marcação do lado do cliente(HTML, CSS e Javascript);
•Back-end: issues relacionados à implementação do back- end;
•Duplicate: informar algo duplicado
•Feature: implementação de nova funcionalidade;
•Invalid: quando algo é inválido
•Question: para debater algo e decidir entre os membros.
•Wontfix: issues sem soluções;
96. Clonando o Repositório
Usuario@meupc ~/Desktop/treino (master) $ git clone git@github.com:aldisondias/Treino.git
Clone o seu próprio repositório
Você pode renomeá-lo
Usuario@meupc ~/Desktop/treino (master) $ git clone git@github.com:aldisondias/Treino.git novoNome
Ele já vem com o repositório remoto configurado, pronto para o trabalhar.
97. Clonando o Repositório
https://github.com/twbs/bootstrap
https://github.com/jquery/jquery
https://github.com/bcit-ci/CodeIgniter
Faça download de outros projetos
Escolha um e copie a URL “https” pra clonar
Usuario@meupc ~/Desktop/treino (master) $ git clone https://github.com/jquery/jquery.git jquery-project