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:41]
gribeiro [Configurando sua Cópia Local do Fork para Sincronizá-lo com o Repositório Original]
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_SSL_NO_VERIFY=true 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 .
Line 42: Line 42:
 </​code>​ </​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:+**2.** ​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>​ <​code>​
 $ 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>​ +
-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>​ </​code>​
  
-**5)** Para configurar seu repositório local, associando-o com o repositório oficial, use o seguinte comando+Pelo TortoiseGit
-<​code>​ + 
-$ git remote add upstream https://gitlab.dpi.inpe.br/​terralib/​terralib5.git +{{:wiki:​documentation:​devguide:​addremotetortoisegit.jpg?600|}}
-</​code>​+
  
-**6)** Verifique se o novo //​upstream ​repository// especificado encontra ​corretamente ​apontado:+**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>​
 $ git remote -v $ git remote -v
 </​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:+ 
 +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/​terralib5.git (fetch) +upstream ​   https://​gitlab.dpi.inpe.br/​terralib/​terralib.git (fetch) 
-upstream https://​gitlab.dpi.inpe.br/​terralib/​terralib5.git (push)+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 ===+===== 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//:​+**1.** Faça o //fetch// dos //​branches//​ e seus respectivos //commits// do repositório //​upstream//:​
 <​code>​ <​code>​
 $ git fetch upstream $ git fetch upstream
 </​code>​ </​code>​
  
- +**2.** Faça o //merge// do repositório oficial (//​upstream/​develop//​ ou outro ramo desejado) com a sua cópia local (que ocorrerá com o //branch// corrente):
-**2)** Se você estiver fazendo modificações no branch ​//master//, assegure-se de estar nele:+
 <​code>​ <​code>​
-$ git checkout master+$ git merge upstream/​develop
 </​code>​ </​code>​
  
-Se você já estiver neste //branch// receberá uma mensagem como a abaixo:+**3.** Envie suas modificações para o repositório do seu //fork//:
 <​code>​ <​code>​
-Already on '​master'​ +$ git push
-Your branch is up-to-date with '​origin/​master'​.+
 </​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+ 
-<​code>​ +===== Fazendo um Pedido de Merge (Merge Requests===== 
-$ git merge upstream/​master+ 
 +Para enviar as modificações presentes no repositório do seu //fork// para 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 pedido, adicione uma descrição do que esta foi feito e em seguida confirme. 
 + 
 +===== Dicas para 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>​
  
 +=== Desfazendo um commit no seu repositório local ===
  
-=== Fazendo pedidos de merge (Merge Requests) ===+Desfazendo o último commit e mantendo as alterações:​ 
 +<code bash> 
 +$ git reset HEAD^ 
 +</​code>​
  
-Para enviar as modificações para repositório original é necessário fazer pedido ​de merge pela interface do GitLab. +Desfazendo ​último commit e as alterações **permanentemente**:​ 
-Navegue para o seu fork e vá para "Merge Requests"​ disponível no menu lateral esquerdo e clique em "New Merge Request"​.+<code bash> 
 +$ git reset HEAD^ --hard 
 +</​code>​ 
 + 
 +Desfazendo múltiplos commits: 
 + 
 +<code bash> 
 +$ git reset HEAD~<​quantidade-de-commits>​ 
 +</​code>​
  
-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"//​.