Mudanças entre as edições de "Metodologia de uso do GitHub em projetos"

De GEATI - Grupo de Estudos Avançados em TI
Ir para: navegação, pesquisa
(No site do GitHub, com o login do Professor)
(No site do GitHub, com o login do Professor)
Linha 144: Linha 144:
  
 
===No ''site'' do ''GitHub'', com o ''login'' do Professor===  
 
===No ''site'' do ''GitHub'', com o ''login'' do Professor===  
;P27. Selecionar o ''branch'' de trabalho atual do projeto e acessar o botão ''Pull request'' ou ''Compare and pull request''
+
;P27. Selecionar o ''branch'' de trabalho atual do projeto e acessar o botão ''Pull request'' ou ''Compare & pull request''
 
;P29. Para tornar um ''branch'' na versão ''master'', repete os passos P23 a P26, no projeto principal
 
;P29. Para tornar um ''branch'' na versão ''master'', repete os passos P23 a P26, no projeto principal
 
:''branch base'' será o ''master''
 
:''branch base'' será o ''master''
 
:''branch compare'' será o ''branch''  de trabalho
 
:''branch compare'' será o ''branch''  de trabalho

Edição das 16h22min de 8 de dezembro de 2016

Neste tutorial é apresentado uma Metodologia de uso do GitHub para gerenciar projetos (TC, Pesquisa etc.)

Atores

Professor
Responsável pelo projeto e por gerenciar o código (Gerente de Projeto)
Aluno
Responsável pelo desenvolvimento do código

Glossário

Aqui você encontra a explicação de alguns termos usados no decorrer deste tutorial

Dono_do_projeto
É o usuário do professor responsável pelo projeto no GitHub, também caracterizado como Gerente de Projeto
P.ex.:
GEATI-IFC
Link_producao
É o link (endereço) do repositório principal do projeto
P.ex.:
https://github.com/GEATI-IFC/teste 
Branch_de_trabalho
É o branch atualmente em uso (versão em desenvolvimento do projeto)
P.ex.:
versao-0.0.1
Link_clone
É o link (endereço) do clone do projeto criado no GitHub, com o login do aluno
P.ex.:
https://github.com/ALUNO_GH/teste

PRIMEIRA ETAPA: Ações do Gerente de Projeto

P01. Criar um novo repositório no GitHub
Atenção para definir o repositório como Público ou Privado
Após a criação, anotar o link do repositório (Link_producao).
P. ex.:
https://github.com/GEATI-IFC/teste
Adicionar a licença e inicializar o repositório com um README
Na dúvida, pode usar GNU General Public Licence v3.0
P02. Criar um branch para a nova versão do código a ser desenvolvido
Sugestão para numerar versões: versão a.b.c.d - sendo
'a': 1o. nível - versão principal
'b': 2o. nível - geralmente usado quando novas funcionalidades são adicionadas na versão principal
'c': 3o. nível - usado para indicar correções de bugs
'd': 4o. nível - usado para indicar compilações.
Para nomear um branch use até o 3o. nível da versão
P.ex.:
versao-0.0.1
P03. No caso de repositório Privado, colocar o aluno como Colaborador nas configurações do repositório (???)
O aluno deve ter um cadastro no GitHub e passar o código do seu usuário para o professor
P. ex.:
aluno_gh
P04. Passar o Link_produção e o Branch_de_trabalho para o aluno
P. ex.:
Link_producao = https://github.com/GEATI-IFC/teste 
Branch_de_trabalho = versao-0.0.1


SEGUNDO PASSO: Ações do Aluno

Neste passo, o aluno vai preparar o ambiente de desenvolvimento e sincronizar sua pasta de trabalho com o Projeto principal no GitHub.

P05. Criar uma pasta de desenvolvimento na estação de trabalho do aluno
A ideia é deixar organizado o ambiente de desenvolvimento no computador usado pelo aluno
P.ex.:
 D:\Documentos\ProjetosProgramacao

No site do GitHub

P06. Criar uma conta do aluno no GitHub (se ainda não tiver sido feito)
P07. O aluno deve fazer login no GitHub e acessar o link principal do projeto, ou seja, o Link_producao
P08. Fazer um Fork do projeto principal
P09. Na aba <>CODE, botão Clone or download, copiar o endereço do clone no repositório do aluno (Link_clone), para depois criar um clone do projeto via linha de comando
P.ex.:
https://github.com/ALUNO_GH/teste.git

No TERMINAL (ou Prompt de comando)

P10. Na pasta de desenvolvimento, executar o comando
git clone Link_clone
Este comando vai criar uma pasta do projeto na pasta de desenvolvimento no computador do aluno
P.ex.:
 git clone https://github.com/ALUNO_GH/teste.git
P11. Acessar a pasta do projeto
P.ex:
cd  D:\Documentos\ProjetosProgramacao\teste
P12. Adicionar o repositório remoto do projeto
alias_dono_projeto é um apelido atribuido para a conexão
git remote add alias_dono_projeto Link_do_producao
P.ex.:
git remote add GEATI  https://github.com/GEATI-IFC/teste
P13. Atualiza o código na pasta local com a versão do branch no repositório remoto do aluno
git checkout -b Branch_trabalho

P.ex.:

git checkout -b versao-0.0.1
P14. Sincroniza os repositorios local e remoto
git fetch alias_dono_projeto Branch_trabalho
P.ex.:
git fetch GEATI versao-0.0.1

Ações do dia a dia

Pronto, a partir de agora o aluno pode iniciar o desenvolvimento de seu projeto localmente e periodicamente fazer a sincronização do código com o GitHub. No dia-a-dia, o aluno terá apenas 4 (quatro) sequências de comandos para executar. Sugere-se que os passos P16 a P18 sejam executados regularmente.

P15. Atualiza a pasta local conforme o repositorio remoto do aluno
origin é um atalho padrão para o repositório do aluno
git pull origin Branch_de_trabalho

P.ex.:

git pull origin versao-0.0.1
P16. Adiciona os arquivos para commit
git add *
git add nome_de_arquivos

P.ex,:

git add *
P17. Faz o commit
É importante deixar uma mensagem do que foi feito a cada commit
git commit -m "mensagem"
P.ex.:
git commit -m "Atualização do arquivo config.js"
P18. Envia os commits locais para repositório remoto do aluno
git push origin Branch_de_trabalho

P.ex.:

git push origin versao-0.0.1

Comandos adicionais

P19. Obtém informações gerais e verifica se tem modificações pendentes no repositório local
git status
P20. Mostra todos os branchs locais
git branch -a
P21. Cria um novo branch (IMPORTANTE. Este novo branch não poderá ser sincronizado no Projeto principal).
git checkout -b versao-0.0.1.test

TERCEIRO PASSO: Sincronizar o repositório do aluno com o repositório principal do projeto

No site do GitHub, com o login do aluno

P22. Acessar o repositório do aluno
P.ex.:
git clone https://github.com/ALUNO_GH/teste.git
P23. Selecionar o botão New pull request ou o botão Compare & pull request
Configurar os parâmetros branch fork: e base: - relacionados ao projeto principal e branch de trabalho
Configurar os parâmetros head fork: e compare: - relacionados ao branch em desenvolvimento
P24. Selecionar o botão Create pull request
Informar o título e descrição das alterações efetuadas feitas nesta atualização
P25. Selecionar o botão Merge pull request
Se desejar, pode adicionar um comentário sobre as alterações
P26. Selecionar o botão Confirm merge

No site do GitHub, com o login do Professor

P27. Selecionar o branch de trabalho atual do projeto e acessar o botão Pull request ou Compare & pull request
P29. Para tornar um branch na versão master, repete os passos P23 a P26, no projeto principal
branch base será o master
branch compare será o branch de trabalho