Labs SD >
O Git é um sistema de controlo de versões do código fonte que
é uma grande ajuda para o trabalho em equipa.
Esqueçam mail attachments, dropboxes, etc.
Toda a partilha de código para trabalho deve ser feita através do GitHub.
Cada membro da equipa deve atualizar a sua foto para facilitar a identificação e comunicação.
A atualização do repositório deve ser feita com regularidade, correspondendo à distribuição de trabalho entre os alunos e às várias etapas de desenvolvimento. Cada elemento do grupo deve actualizar o repositório do seu grupo à medida que vai concluindo as várias tarefas que lhe foram atribuídas.
Nota importante: O grupo é responsável por fazer backup regular dos ficheiros do seu projeto (para prevenir uma falha do GitHub).
O repositório de cada grupo está disponível no GitHub em:
https://github.com/tecnico-distsys/C_XX-project/ou em:
https://github.com/tecnico-softeng-distsys-2015/C_XX-project/onde:
A estrutura pretendida para os projetos no repositório é a seguinte:
C_XX-project/ | |---...-ws/ | |---pom.xml | |---... | |---...ws-cli/ | |---pom.xml | |---... | . . . | README.md
Deve existir um ficheiro README.md contendo instruções de instalação dos diferentes servidores.
Para configurar os ficheiros a ignorar devem definir o ficheiro
.gitignore:
(sintaxe descrita no manual)
*.class # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.ear # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* # maven target (build) folders target/
Para trabalhar, devem obter uma cópia local do repositório:
$ git clone https://github.com/tecnico-distsys/C_XX-project/ou:
$ git clone https://github.com/tecnico-softeng-distsys-2015/C_XX-project/Fazer os commits locais e depois "empurrar" para o GitHub, por exemplo:
$ git status ... $ git commit -m "Closed issue #22" ... $ git pushEm alternativa à linha de comandos, o Eclipse suporta as principais funcionalidades de forma simplificada (ver as opções do menu Team).
Para os grupos que usam GitHub para trabalhar (recomendado), a entrega das várias partes do projeto é feita através do repositório.
A cada parte do projecto a entregar está associada uma TAG. Cada grupo tem que marcar o código que representa cada entrega a realizar com uma TAG específica.
Por exemplo, supondo que o repositório do GitHub já contém os commits correspondentes à primeira parte do projecto:
O grupo deve criar a TAG SD_R1:
$ git tag SD_R1 $ git push origin SD_R1
Podem obter a versão entregue, fazendo:
$ git clone -b SD_R1 https://github.com/tecnico-distsys/C_XX-project/ou:
$ git clone -b SD_R1 https://github.com/tecnico-softeng-distsys-2015/C_XX-project/
Para a segunda parte do projecto, o processo é idêntico ao da primeira, mas o nome da TAG deve ser SD_R2.
Para grupos que não usam GitHub para trabalhar,
podem recorrer a uma entrega via Fénix.
Atenção: a entrega via Fénix sobrepõe-se a uma entrega via GitHub.
© Docentes de Sistemas Distribuídos,
Dep. Eng. Informática,
Técnico Lisboa