Seus repositórios locais são uma cópia completa dos projetos que estão no GitHub para que você possa salvar as alterações localmente sempre que tiver alguma. Ao trabalhar localmente, você pode fazer alterações em centenas de arquivos de uma vez e depois salvar (commit) todos eles.
Você verá que houve alterações quando um número aparecer no ícone do botão Controle de fonte.
Clique em Controle de origem.
No subpainel Source control, você verá uma lista de arquivos modificados. Passe o mouse sobre eles e clique no botão Stage changes que aparecerá.
Assim que as alterações estiverem no stage, insira uma mensagem para salvar (commit) e clique no botão Commit. As alterações são adicionadas ao seu repositório local.
Para enviar suas alterações para seu repositório remoto no GitHub, clique no botão Sync changes que aparece quando há novos commits. Isso irá pull e push receber e enviar quaisquer alterações entre suas cópias locais e remotas do projeto.
Você pode verificar se seus commits foram enviados corretamente abrindo sua página GitHub Urantiapedia.
¶ Sincronize as mudanças entre os dois projetos da Urantiapedia
O projeto Urantiapedia é a versão para desenvolvimento e trabalho com os conteúdos. O projeto Urantiapedia-backup contém apenas o conteúdo e é sincronizado com o site, portanto, fazer alterações nele equivale a fazer alterações massivas no site, desde que essas alterações sejam introduzidas pelos Administradores ou aceitas pelos Administradores através um pedido de mudança.
Se suas alterações no projeto Urantiapedia incluírem alterações no conteúdo (pasta /output/wikijs), você deverá sincronizar essas alterações no projeto Urantiapedia-backup com qualquer utilitário de sincronização ou simplesmente copiando e colando entre pastas.
Esta duplicação de ambos os projetos pode ser um pouco complicada, mas foi projetada desta forma por razões de segurança.
¶ Crie solicitações pull para projetos da Urantiapedia
Quando você tiver um número suficiente de commits enviados para suas próprias cópias dos projetos Urantiapedia (forks), você poderá enviar uma solicitação pull para os projetos originais (pull requests) para que as alterações possam ser revisadas e mescladas neles . Isso é chamado de pull request na terminologia do GitHub.
Abra cada uma das páginas da Urantiapedia no GitHub.
Certifique-se de estar no branch master chamado master. A ramificação aparece em um menu no topo da lista de arquivos. Normalmente você terá apenas esse ramo.
Selecione o menu Contribute abaixo e selecione Open pull request. Se o menu disser This branch is not ahead of the upstream master (Este branch não está à frente do master upstream), você deve primeiro fetch o projeto principal. Olhe para frente.
Adicione um título às suas contribuições. Você também pode adicionar uma descrição.
Clique em Create pull request. Faça uma pull request para cada projeto no qual você tenha alterações.
Isso enviará uma notificação aos administradores do projeto que mesclarão suas alterações se não encontrarem problemas.
Como Urantiapedia é o esforço de uma equipe de colaboradores, é comum que a qualquer momento suas cópias dos projetos (forks) não estejam sincronizadas com os projetos originais. É uma boa prática que antes de qualquer pull request você sincronize seus forks com os projetos originais.
Abra qualquer um dos seus projetos da Urantiapedia no GitHub.
Clique na opção Sync fork. Será mostrado um menu indicando quantos commits foram feitos no projeto original que não estão em sua cópia. Na imagem você pode ver que existem 4 saves que não temos e portanto nossa cópia está desatualizada (This branch is out-of-date). Basta clicar em Update branch para trazer as alterações do projeto original para sua cópia.
Aguarde alguns segundos enquanto o GitHub atualiza sua cópia. Ao final, se você clicar novamente na opção Sync fork você verá que tudo já está atualizado indicando que as alterações não estão atrás do original (This branch is not behind the upstream).
Vá para o Código VS.
Abra o projeto conforme já explicado.
No painel Source control, vá para o subpainel Commits. Clique no pequeno botão Fetch e depois no botão Pull próximo a ele. Esta ação busca e envia alterações ao mesmo tempo para sincronizar o repositório local.
Às vezes, alterações no código do Urantiapedia Tools envolvem alterações nas dependências. Você deve instalar ou atualizar novas dependências executando o comando npm install em um terminal no VS Code. Isso atualizará as dependências do projeto.
Em resumo, o processo no GitHub é o seguinte (veja o diagrama):
Os “Editores Chefes” criam uma cópia (1) (fork) em sua própria conta dos projetos Urantiapedia no GitHub: Urantiapedia e Urantiapedia-backup. Eles também mantêm essas cópias sincronizadas usando um Sync fork ou Fetch upstream (1).
“Editores Chefes” criam uma cópia local dos projetos em seu PC. Isso é feito por meio de uma ação clone (2) no VS Code. Eles também mantêm essas cópias locais sincronizadas por meio de ações fetch + pull no VS Code (2), que despejam quaisquer alterações na cópia local.
Os “Editores Chefes” fazem alterações na cópia local dos projetos e fazem commits (3) em sua cópia local para salvar as alterações.
“Editores-chefes” enviam suas alterações para seus projetos GitHub por meio de ações push (4).
Os “Editores Chefes” então criam solicitações pull (5) do site GitHub para os projetos Urantiapedia e Urantiapedia-backup.
Estas solicitações pull dos “Editores Chefes” são revisadas por um “Administrador”, que é responsável por fazer uma fusão (6) de todas as alterações que estiverem corretas. Quaisquer alterações que não estejam corretas serão rejeitadas (6) e os “Editores Chefes” serão notificados para que possam corrigi-las.
Quando as alterações estiverem corretas, o “Administrador” se funde ao projeto original urantiapedia-backup fazendo com que as alterações sejam automaticamente sincronizadas com o site, que aparecerá atualizado em alguns minutos. (7)