• Nenhum resultado encontrado

Tutorial para integração de código no Git

N/A
N/A
Protected

Academic year: 2022

Share "Tutorial para integração de código no Git"

Copied!
14
0
0

Texto

(1)

Tutorial para integração de código no Git

Paola Accioly

(2)

Nessa disciplina adotaremos uma política para facilitar a integração do

código das equipes no repositório

central do RGMS no Github

(3)

Esse workflow servirá para integrar o código das tarefas da disciplina

ao repositório central.

(4)

Passo a passo dos colaboradores

1. Fazer um fork do repositório central do RGMS. Os membros de uma mesma equipe devem usar o mesmo fork para trabalhar

2. Cada membro equipe deve fazer um clone desse fork na sua máquina 3. Criar um topic branch no seu clone para implementar a tarefa.

4. Quando a tarefa estiver pronta e testada nos topic branchs dos

integrantes da equipe, fazer um merge destes branchs no branch master local

5. Fazer um push do clone com todas as tarefas da equipe integradas para o fork da equipe e fazer um pull request para o repositório central

(observando as normas para dar pull request)

6. Em alguns casos o pull request não será aceito devido a ocorrência de conflitos. Nesses casos, vamos pedir que a equipe faça um rebase

(procedimento explicado mais a frente) do head do repositório central

para o seu clone para que as modificações da sua equipe sejam aplicadas

à versão mais atual do repositório central. Nesse caso o procedimento é

detalhado no próximo slide.

(5)

Continuação – Passo a passo dos colaboradores

1. Antes do rebase lembrar de commitar alterações que ainda não foram commitadas

2. Fazer o rebase do repositório central para seu master local 3. Resolver os conflitos existentes com o auxílio da ferramenta

P4Merge (comentada mais a frente), fazendo os ajustes necessários que garantam que o código está compilando e funcionando

corretamente com a última versão do repositório

4. Dar commit nas mudanças, fazer um push do seu master local para

seu fork

(6)

Central Repo

Master Branch Version A

Forked repo 1

Cloned Repo 2

Topic Branch

3

Version B

4 5

Pull Request

Workflow

6

6.1 6.2

6.3 6.4

Pull Request

Local master

branch

(7)

Como fazer um rebase?

• No IntelliJ existe a opção de dar rebase, para isso é preciso configurar o repositório central como remoto e selecioná-lo no momento do

rebase

• Também é possível dar o rebase via linha de comando. Para isso, no shell do Github, dentro do seu repositório local coloque o comando:

git pull –-rebase https://github.com/spgroup/rgms.git master

• O Github tenta resolver o merge dos arquivos de forma automática.

No entanto, ele não consegue resolver alguns tipos de conflitos.

Nesses casos, o Github mostra quais arquivos tem conflitos e

precisam ser manualmente editados para terminar o rebase. Para resolver conflitos recomendamos a instalação e uso da ferramenta P4Merge, conforme o slide a seguir. Com a ferramenta instalada, quando o Github mostrar os arquivos que têm conflitos, coloque o comando:

git mergetool

(8)

Após o comando “git mergetool”, o Github vai abrir o primeiro arquivo com conflitos. A tela do P4Merge aparece da seguinte maneira:

Repositório

central Repositório local

(seu clone)

Resultado do merge (arquivo final)

Base

(antecedente comum às

versões do código dos

repositórios central e local)

(9)

Na parte de baixo, onde aparece o arquivo do

merge, o P4Merge indica os locais onde existem

conflitos. Ao lado de cada conflito existe a opção

de selecionar qual versão do código você quer

que fique no arquivo final e também é possível

editar manualmente os conflitos.

(10)

Após resolver os conflitos, lembre de salvar o arquivo antes de fechar o P4Merge. Após o

fechamento, o Github abrirá o P4Merge com o próximo arquivo com conflitos e o mesmo

procedimento deve ser seguido até que todos os

arquivos com conflitos sejam analisados.

(11)

Tutorial para instalação do P4Merge

- Windows: http://bit.ly/kgzJzN

- Mac: http://bit.ly/qrmDzv

(12)

Atenção!

• Os monitores entrarão em contato com as equipes que precisarem fazer o rebase.

• Antes de dar o rebase verifiquem se suas mudanças foram commitadas, caso contrário, elas vão se perder após o

rebase.

• Antes de executar os testes, seguir o seguinte procedimento:

– git clean -n

– git clean -f (se a lista gerada pelo comando acima estiver OK) – grails clean

– E rodar duas vezes os testes. Alguns testes rodam bem a

primeira vez, mas não a segunda, por conta de um arquivo

criado mas não apagado, ou algo do tipo

(13)

Antes de dar o pull request,

observe se você está seguindo as regras definidas em

https://sites.google.com/a/cin.ufp e.br/desenvolvimento-de-

software-taes-2013-1/instrues- para-colaborao-com-o-git-para-o-

rgms

Dica:

(14)

Como referência, recomendamos a leitura do capítulo 5 do livro Pro

Git - http://git-scm.com/book

Referências

Documentos relacionados

Calibrar o sensor de passada durante o treino (calibração rápida): Pode calibrar o sensor de passada em qualquer fase da sessão de treino, com correcção da distância real; quando

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

Os estudos originais encontrados entre janeiro de 2007 e dezembro de 2017 foram selecionados de acordo com os seguintes critérios de inclusão: obtenção de valores de

Para tal, constou de pesquisa de natureza aplicada à 4 sujeitos, os quais foram selecionados devido às suas condições de paraplegia Os dados coletados foram analisados de

Dessa forma, devemos limitar o uso do predicado verdadeiro à sentenças, essa será a extensão mais adequada para os propósitos em questão e “consequentemente,

Considerando que o MeHg é um poluente ambiental altamente neurotóxico, tanto para animais quanto para seres humanos, e que a disfunção mitocondrial é um

ensino superior como um todo e para o curso específico; desenho do projeto: a identidade da educação a distância; equipe profissional multidisciplinar;comunicação/interatividade

Não houve diferença significativa para as variáveis comprimento de raízes comerciais e diâmetro de raízes comerciais; os clones 06 e 14 e a cultivar sergipana apresentaram