Olá, vamos para algumas dicas de como contribuir com opensource!
O pessoal do GitHub tem um guia que ensina o GitHub flow, https://guides.github.com/introduction/flow/. A base que ele nos ensina é:
- crie um branch para a alteração que você vai fazer
- faça os commits (ou o commit único) das suas alterações
- abra o pull request
- espere a aprovação do responsável pelo projeto
- be happy!
Realmente vale a pena ler o guia. É um texto de cinco minutos, interativo, acesse: https://guides.github.com/introduction/flow/
O origin é o endereço do seu fork lá no GitHub.
O upstream é o endereço do repositório original para o qual você vai contribuir.
Para ver na sua linha de comando o que está configurado:
git remote -v
Se você vir na saída desse comando tanto o origin quanto o upstream, beleza! Caso contrário (se só aparecer o origin), vamos ver como fazer para ter também o upstream.
Tomemos como exemplo:
- que seu nome no GitHub é:
zezinho
- que você está contribuindo no projeto: rogeriopradoj/ManoWars (https://github.com/rogeriopradoj/ManoWars.git)
Seu fork, lá no GitHub ficaria: zezinho/ManoWars (https://github.com/zezinho/ManoWars.git)
Em geral, o que fazemos depois é um apenas um git clone
. O que falta aí é
mais um comando: git remote add
. Esse comando serve para adicionar
repositórios remotos ao seu repositório local.
Quando você faz um git clone, automaticamente é adicionado o repositório remoto origin. Com o git remote add você pode adicionar quantos outros você precisar.
Se você estiver clonando pela primeira vez (digamos que você acabou de forkar o projeto oficial lá no GitHub):
git clone https://github.com/zezinho/ManoWars.git
git remote add upstream https://github.com/rogeriopradoj/ManoWars.git
Caso você já tiver clonado o projeto na sua máquina:
git remote add upstream https://github.com/rogeriopradoj/ManoWars.git
É isso aí, rode agora o comando
git remote -v
e veja se você já tem o origin (seu fork no GitHub) e o upstream (repositório oficial no GitHub).
A ideia principal é que o branch master
ande junto com o branch master
do
projeto principal.
E como você faz as suas alterações? É fácil: crie sempre um branch para fazer as suas alterações!