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
Last revision Both sides next revision
wiki:documentation:devguide:gitlab [2016/07/26 16:42]
gribeiro [Criando uma Cópia Local do seu Fork]
wiki:documentation:devguide:gitlab [2016/07/29 14:14]
mzaglia [Alterando o endereço de um remote]
Line 46: Line 46:
 $ git config user.name your-login $ git config user.name your-login
 $ git config user.email your-e-mail $ git config user.email your-e-mail
 +</​code>​
 +
 +**3.** Se quiser, já alterne para o //branch// correto:
 +<code bash>
 +$ git checkout -b develop origin/​develop
 </​code>​ </​code>​
  
 ===== Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original ===== ===== 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:+**1.** Após ter clonado e 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>​ <​code>​
-$ git remote ​-v+$ git remote ​add upstream https://​gitlab.dpi.inpe.br/​terralib/​terralib.git
 </​code>​ </​code>​
-A saída será algo como:+ 
 +**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 isso, utilize o comando abaixo:
 <​code>​ <​code>​
-origin https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib5 (fetch) +$ git remote ​-v
-origin https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib5 (push)+
 </​code>​ </​code>​
  
-**5)** Para configurar seu repositório local, associando-o com o repositório oficial, use o seguinte ​comando:+A saída deverá ser semelhante à seguinte:
 <​code>​ <​code>​
-git remote add upstream https://​gitlab.dpi.inpe.br/​terralib/​terralib5.git+origin  ​   https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib.git (fetch) 
 +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 =====
  
-**6)** Verifique se novo //​upstream ​repository// especificado encontra corretamente apontado:+**1.** Faça //fetch// dos //​branches//​ e seus respectivos //commits// do repositório ​//​upstream//:​
 <​code>​ <​code>​
-$ git remote -v+$ git fetch upstream
 </​code>​ </​code>​
-Você deverá ver a URL do seu //fork// como //origin// URL do repositório original como //upstream//, conforme a saída abaixo:+ 
 +**2.** Faça o //merge// do repositório oficial (//upstream/develop// ou outro ramo desejado) com sua cópia local (que ocorrerá com o //branch// corrente):
 <​code>​ <​code>​
-origin  ​       https://​gitlab.dpi.inpe.br/​seu-nome-usuario/​terralib5 (fetch) +git merge upstream/develop
-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>​ </​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"//​.