Skip to content

Dando merge em alterações do PrivacyTools e resolvendo conflitos

LABB edited this page May 24, 2020 · 6 revisions

Alterações importantes podem rolar no projeto original, como a inclusão de novos guias, provedores, serviços, imagens, etc. Os mantenedores da tradução em Português são responsáveis por fundir o código fonte em Inglês a este repositório e fazer as devidas modificações para que tudo permaneça atualizado e traduzido. Todas as etapas descritas abaixo foram testadas no Linux. No futuro, talvez seja necessário separar esta página em várias versões de acordo com diferentes sistemas operacionais.

Etapas Iniciais

  • Certificar-se de que você tem direito de escrita no repositório. Caso não tenha, precisará fazer Pull Requests (será explicado em outra guia).
  • Certificar-se de que consegue rodar o projeto com bundle exec jekyll serve na sua máquina local e acessar o site localmente através do seu navegador.
  • Certificar-se de que você sabe o básico de como utilizar o Git e GitHub.

Branches Fixas

master é a branch padrão e a que não deve conter muitos erros, pois reflete a versão live do site. up-merge é uma branch que será usada como base para resolver conflitos resultantes do merge do projeto PrivacyTools.

Clonando o Repo

  1. Clone o repo do site da iniciativa Privacidade Digital:
    git clone [email protected]:PrivacidadeDigital/privacidade.digital.git
    
  2. Construe o projeto conforme instruído em README.md. No fim desta etapa você terá todas as branches do projeto Português clonadas em seu repositório local e, dependendo do sucesso ao construí-lo, um projeto com um site funcional a partir da branch master.
  3. Verifique os servidores remotos atrelados ao seu repositório com git remote -v. O resultado deverá ser algo assim:
    origin  [email protected]:PrivacidadeDigital/privacidade.digital.git (fetch)
    origin  [email protected]:PrivacidadeDigital/privacidade.digital.git (push)
    

A Criação/Atualização da Branch up-merge (opcional)

  1. Adicione o repositório remoto do projeto PrivacyTools como upstream (ou outro nome de sua preferência):
    git remote add upstream https://github.com/privacytoolsIO/privacytools.io.git
    
  2. O resultado de git remote -v agora deverá ser:
    origin  [email protected]:PrivacidadeDigital/privacidade.digital.git (fetch)
    origin  [email protected]:PrivacidadeDigital/privacidade.digital.git (push)
    upstream        https://github.com/privacytoolsIO/privacytools.io.git (fetch)
    upstream        https://github.com/privacytoolsIO/privacytools.io.git (push)
    
  3. Você poderá então utilizar o comando git fetch upstream e todas as branches do projeto PrivacyTools irão ser clonadas pro seu repositório local. Confira o resultado de exemplo:
    remote: Enumerating objects: 25, done.
    remote: Counting objects: 100% (24/24), done.
    remote: Compressing objects: 100% (6/6), done.
    remote: Total 11 (delta 9), reused 6 (delta 5), pack-reused 0
    Unpacking objects: 100% (11/11), done.
    From https://github.com/privacytoolsIO/privacytools.io
     * [new branch]      footer     -> upstream/footer
     * [new branch]      master     -> upstream/master
     * [new branch]      orbot      -> upstream/orbot
     * [new branch]      startpage  -> upstream/startpage
    
  4. Atualize a branch master e vá para ela:
    git pull origin master
    git checkout master
    
  5. A partir da branch master, vá para a branch chamada up-merge:
    git checkout up-merge
    
  6. Traga as atualizações da branch master para a up-merge, caso necessário:
    git merge master
    

(Caso haja conflitos, não precisa resolver, basta fazer o commit dos mesmos de forma forçada) 6. Agora você pode dar merge com as modificações do PrivacyTools com a branch up-merge (isso provavelvemente gerará muitos conflitos, nos quais você deve ignorar por agora e fazer o commit dos mesmos de forma forçada): git merge upstream/master

Forçando Commits com Conflitos

Resolvendo Conflitos

Merge das Modificações para Branch Auxiliar (opcional)

Merge das Modificações para Branch master

Deploy no Site

Guias Básicos

Guias Intermediários

Guias Avançados

Clone this wiki locally