TerraLib and TerraView Wiki Page

This is an old revision of the document!


Usando o GitLab da TerraLib

Resumo: Este documento explica como os desenvolvedores devem criar forks do repositório original da TerraLib no ambiente do GitLab, bem como configurar seus repositórios locais para mantê-los em sincronia com o original. Também é apresentado como submeter pedidos para incorporação de modificações no repositório original.

Introdução

O repositório oficial da TerraLib no GitLab encontra-se disponível no seguinte endereço:
https://gitlab.dpi.inpe.br/terralib/terralib

Este repositório deverá ser utilizado apenas para download do código fonte oficial.

Os desenvolvedores que queiram realizar alterações no código fonte e depois submeter essas alterações para integração ao repositório oficial, deverão criar forks a partir do repositório principal, submetendo as modificações como solicitações de merge request.

Se você quer apenas fazer o download do código fonte oficial, consulte o documento Cloning TerraLib/TerraView Repository.

Criando um fork do Repositório Oficial da TerraLib

No seu navegador, vá para o endereço: https://gitlab.dpi.inpe.br.

Na interface gráfica do GitLab, navegue até o projeto TerraLib:
https://gitlab.dpi.inpe.br/terralib/terralib

O botão de Fork se encontra no centro da página.

Basta clicar no botão de Fork e selecionar o seu usuário no formulário que será exibido.

Ao final deste processo você terá o seu fork disponível em um link como:
https://gitlab.dpi.inpe.br/gribeiro/terralib

Criando uma Cópia Local do seu Fork

Para criar uma cópia local do seu fork para trabalhar, basta apontar o Git para o endereço do seu fork, como por exemplo:

$ GIT_SSL_NO_VERIFY=true git clone https://gitlab.dpi.inpe.br/gribeiro/terralib.git .

Atenção: No comando acima, desabilitamos o uso de certificados SSL. Se você preferir, pode desabilitar de forma local ou global essa verificação. Para deabilitar de forma global faça:

$ git config --global http.sslVerify false

Se você preferir desabilitar a verificação de certificados SSL apenas para o repositório que você já clonou, faça:

$ git config http.sslVerify false

Após ter clonado o repositório, não se esqueça de configurar suas credenciais para que os commits sejam anotados com o seu usuário:

$ git config user.name gribeiro
$ git config user.email gribeiro@dpi.inpe.br

Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original

Para configurar o git para sincronizar a sua cópia local com o repositório original:

1) Vá ao seu navegador e acesse o repositório original da Terralib5.

2) Na barra à direita, copie o endereço do repositório original: https://gitlab.dpi.inpe.br/terralib/terralib5.git.

3) Na linha de comando, vá para a pasta em que você criou a cópia local do seu fork.

4) Para saber o repositório remoto que se encontra configurado atualmente para seu fork, faça:

$ git remote -v

A saída será algo como:

origin	https://gitlab.dpi.inpe.br/seu-nome-usuario/terralib5 (fetch)
origin	https://gitlab.dpi.inpe.br/seu-nome-usuario/terralib5 (push)

5) Para configurar seu repositório local, associando-o com o repositório oficial, use o seguinte comando:

$ git remote add upstream https://gitlab.dpi.inpe.br/terralib/terralib5.git

6) Verifique se o novo upstream repository especificado encontra corretamente apontado:

$ git remote -v

Você deverá ver a URL do seu fork como origin e a URL do repositório original como upstream, conforme a saída abaixo:

origin	        https://gitlab.dpi.inpe.br/seu-nome-usuario/terralib5 (fetch)
origin	        https://gitlab.dpi.inpe.br/seu-nome-usuario/terralib5 (push)
upstream	https://gitlab.dpi.inpe.br/terralib/terralib5.git (fetch)
upstream	https://gitlab.dpi.inpe.br/terralib/terralib5.git (push)

Sincronizando Sua Cópia Local e Seu Fork com o Repositório Original

1) Faça o fetch dos branches e seus respectivos commits do repositório upstream:

$ git fetch upstream

2) Se você estiver fazendo modificações no branch master, assegure-se de estar nele:

$ git checkout master

Se você já estiver neste branch receberá uma mensagem como a abaixo:

Already on 'master'
Your branch is up-to-date with 'origin/master'.

3) Faça o merge do upstream/master (ou do ramo desejado) com o seu ramo local para sincronizar seu repositório local com o original:

$ git merge upstream/master

Fazendo pedidos de merge (Merge Requests)

Para enviar as modificações para o repositório original é necessário fazer pedido de merge pela interface do GitLab. Navegue para o seu fork e vá para “Merge Requests” disponível no menu lateral esquerdo e clique em “New Merge Request”.

Na janela do navegador, no site do GitLab do seu fork, selecione o ramo correto, onde você fez as modificações e em seguida selecione a opção “Compare branchs and continue”.