Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
wiki:documentation:devguide:gitlab [2016/07/26 16:41] gribeiro [Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original] |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 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 [[:wiki:documentation:devguide:cloning|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: | ||
| - | <code bash> | ||
| - | $ GIT_SSL_NO_VERIFY=true git clone https://gitlab.dpi.inpe.br/gribeiro/terralib.git . | ||
| - | </code> | ||
| - | |||
| - | **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: | ||
| - | <code bash> | ||
| - | $ git config --global http.sslVerify false | ||
| - | </code> | ||
| - | |||
| - | Se você preferir desabilitar a verificação de certificados SSL apenas para o repositório que você já clonou, faça: | ||
| - | <code bash> | ||
| - | $ git config http.sslVerify false | ||
| - | </code> | ||
| - | |||
| - | 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: | ||
| - | <code> | ||
| - | $ git config user.name your-login | ||
| - | $ git config user.email your-e-mail | ||
| - | </code> | ||
| - | |||
| - | ===== Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original ===== | ||
| - | |||
| - | Para saber o repositório remoto que se encontra configurado atualmente para seu //fork//, faça: | ||
| - | <code> | ||
| - | $ git remote -v | ||
| - | </code> | ||
| - | A saída será algo como: | ||
| - | <code> | ||
| - | origin https://gitlab.dpi.inpe.br/seu-nome-usuario/terralib5 (fetch) | ||
| - | origin https://gitlab.dpi.inpe.br/seu-nome-usuario/terralib5 (push) | ||
| - | </code> | ||
| - | |||
| - | **5)** Para configurar seu repositório local, associando-o com o repositório oficial, use o seguinte comando: | ||
| - | <code> | ||
| - | $ git remote add upstream https://gitlab.dpi.inpe.br/terralib/terralib5.git | ||
| - | </code> | ||
| - | |||
| - | **6)** Verifique se o novo //upstream repository// especificado encontra corretamente apontado: | ||
| - | <code> | ||
| - | $ git remote -v | ||
| - | </code> | ||
| - | Você deverá ver a URL do seu //fork// como //origin// e a URL do repositório original como //upstream//, conforme a saída abaixo: | ||
| - | <code> | ||
| - | 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) | ||
| - | </code> | ||
| - | === 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//: | ||
| - | <code> | ||
| - | $ git fetch upstream | ||
| - | </code> | ||
| - | |||
| - | |||
| - | **2)** Se você estiver fazendo modificações no branch //master//, assegure-se de estar nele: | ||
| - | <code> | ||
| - | $ git checkout master | ||
| - | </code> | ||
| - | |||
| - | Se você já estiver neste //branch// receberá uma mensagem como a abaixo: | ||
| - | <code> | ||
| - | Already on 'master' | ||
| - | Your branch is up-to-date with 'origin/master'. | ||
| - | </code> | ||
| - | |||
| - | **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: | ||
| - | <code> | ||
| - | $ git merge upstream/master | ||
| - | </code> | ||
| - | |||
| - | |||
| - | === 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"//. | ||