TerraLib and TerraView Wiki Page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:documentation:devguide:gitlab [2016/07/26 16:31]
gribeiro
wiki:documentation:devguide:gitlab [2016/08/03 16:15] (current)
felipe.siqueira [Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original]
Line 27: Line 27:
 ===== Criando uma Cópia Local do seu Fork ===== ===== 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:+**1.** ​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> <code bash>
-$ git clone https://​gitlab.dpi.inpe.br/​gribeiro/​terralib.git+GIT_SSL_NO_VERIFY=true ​git clone https://​gitlab.dpi.inpe.br/​gribeiro/​terralib.git ​.
 </​code>​ </​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>​
  
-=== Configurando seu Fork para Mantê-lo Sincronizado com Repositório Original === +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>​
  
-Em seguida, entre na pasta terralib5 e ajuste ​nome de usuário ​e e-mail:+**2.** Após ter clonado ​repositório,​ não se esqueça ​de configurar suas credenciais para que os commits sejam anotados com o seu usuário:
 <​code>​ <​code>​
-git config user.name your-gitlab-login +git config user.name your-login 
-git config user.email your-gitlab-email-contact+git config user.email your-e-mail
 </​code>​ </​code>​
  
-Para configurar o git para sincronizar a sua cópia local com repositório original:+**3.** Se quiser, já alterne ​para o //branch// correto: 
 +<code bash> 
 +$ git checkout -b develop origin/​develop 
 +</​code>​
  
-**1)** Vá ao seu navegador ​acesse ​[[https://​gitlab.dpi.inpe.br/​terralib/​terralib5|repositório original da Terralib5]].+===== Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original ===== 
 + 
 +**1.** Após ter clonado ​configurado ​seu repositório local a partir do seu //fork//, será necessário associar seu repositório local com o repositório oficial. Para isso, utilize o seguinte comando: 
 +<​code>​ 
 +$ git remote add upstream ​https://​gitlab.dpi.inpe.br/​terralib/​terralib.git 
 +</​code>​
  
-**2)** Na barra à direita, copie o endereço do repositório originalhttps://​gitlab.dpi.inpe.br/​terralib/​terralib5.git.+Pelo TortoiseGit:
  
-**3)** Na linha de comando, vá para a pasta em que você criou a cópia local do seu //fork//.+{{:​wiki:​documentation:​devguide:​addremotetortoisegit.jpg?600|}}
  
-**4)** Para saber o repositório remoto que se encontra configurado atualmente para seu //fork//, faça:+**2.** Verifique ​se o //​upstream//​ do seu repositório local foi associado corretamente ao endereço do repositório oficial (https://gitlab.dpi.inpe.br/terralib/terralib.git). Para issoutilize o comando abaixo:
 <​code>​ <​code>​
 $ git remote -v $ git remote -v
 </​code>​ </​code>​
-A saída ​será algo como:+ 
 +A saída ​deverá ser semelhante à seguinte:
 <​code>​ <​code>​
-origin https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib5 ​(fetch) +origin     ​https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib.git ​(fetch) 
-origin https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib5 ​(push)+origin     ​https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib.git (push) 
 +upstream ​   https://​gitlab.dpi.inpe.br/​terralib/​terralib.git (fetch) 
 +upstream ​   https://​gitlab.dpi.inpe.br/​terralib/​terralib.git ​(push)
 </​code>​ </​code>​
 +===== Sincronizando Sua Cópia Local e Seu Fork com o Repositório Original =====
  
-**5)** Para configurar seu repositório local, associando-o com o repositório ​oficial, use o seguinte comando:+**1.** Faça //fetch// dos //​branches//​ e seus respectivos //commits// do repositório ​//​upstream//​:
 <​code>​ <​code>​
-$ git remote add upstream ​https://​gitlab.dpi.inpe.br/​terralib/​terralib5.git+$ git fetch upstream
 </​code>​ </​code>​
  
-**6)** Verifique se novo //​upstream ​repository// especificado encontra corretamente apontado:+**2.** Faça //merge// do repositório oficial (//upstream/develop// ou outro ramo desejado) com a sua cópia local (que ocorrerá com o //branch// corrente):
 <​code>​ <​code>​
-$ git remote -v+$ git merge upstream/​develop
 </​code>​ </​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 //fetch// dos //​branches//​ e seus respectivos //​commits// ​do repositório ​//upstream//:+**3.** Envie suas modificações para repositório ​do seu //fork//:
 <​code>​ <​code>​
-$ git fetch upstream+$ git push
 </​code>​ </​code>​
  
  
-**2)** Se você estiver fazendo modificações no branch ​//master//, assegure-se ​de estar nele+===== Fazendo um Pedido de Merge (Merge Requests) ===== 
-<​code>​ + 
-$ git checkout master+Para enviar as modificações presentes no repositório do seu //fork// para o repositório original será necessário fazer um pedido de //merge// através da interface gráfica do GitLab. 
 + 
 +No seu navegador, vá para o endereço do seu //fork//, como por exemplo:\\ https://​gitlab.dpi.inpe.br/​gribeiro/​terralib. 
 + 
 +No painel à esquerda selecione a opção //Merge Requests// e crie um novo pedido (//New Merge Request//​). 
 + 
 +Você será redirecionado para uma página com dois mecanismos na tela. O objeto apresentado em //Source branch// representa o seu fork e //Target Branch// o repositório oficial da TerraLib.  
 + 
 +Em //Source Branch//, selecione o branch que estão as modificações do seu fork. Em //Target Branch//, selecione para qual branch do repositório oficial que deve incorporar as novas mudanças. Em seguida, selecione "​Compare branches and continue"​.  
 + 
 +**Atenção** Se não houver mudanças comparando os branches, ​você não poderá prosseguir com a criação do pedido de //Merge Request//
 + 
 +Você será redirecionado para a página de criação e detalhes adicionais do //Merge Request//. Preencha um título do pedidoadicione uma descrição do que esta foi feito e em seguida confirme. 
 + 
 +===== Dicas para o Git ===== 
 + 
 +=== Alterando o endereço ​de um remote === 
 + 
 +Caso você queira alterar o endereço de um remote, use o comando a seguir em seu repositório local
 +<​code ​bash
 +$ git remote set-url <​nome-do-remote>​ <​novo-endereço>​
 </​code>​ </​code>​
  
-Se você já estiver neste //branch// receberá uma mensagem como a abaixo+=== Desfazendo um commit no seu repositório local === 
-<​code>​ + 
-Already on '​master'​ +Desfazendo o último commit e mantendo as alterações
-Your branch is up-to-date with '​origin/​master'​.+<​code ​bash
 +$ git reset HEAD^
 </​code>​ </​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+Desfazendo o último commit e as alterações ​**permanentemente**: 
-<​code>​ +<​code ​bash
-$ git merge upstream/​master+$ git reset HEAD^ --hard
 </​code>​ </​code>​
  
 +Desfazendo múltiplos commits:
  
-=== Fazendo pedidos de merge (Merge Requests) === +<code bash> 
- +$ git reset HEAD~<​quantidade-de-commits>​ 
-Para enviar as modificações para o repositório original é necessário fazer pedido ​de merge pela interface do GitLab. +</​code>​
-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"//​.