Contribuir com Projetos Open Source é uma experiência gratificante!
1 - Fork um repositório (de outro usuário) que você deseja contribuir
https://github.com/[OUTRO-USUÁRIO]/[REPOSITÓRIO]
2 - Clone seu repositório ‘forkado’ com seu nome de usuário
git clone https://github.com/[SEU-USUÁRIO]/[REPOSITÓRIO]
3 - Crie uma nova branch
cd [REPOSITÓRIO]
git branch nova-branch
4 - Mude para a nova-branch usando o comando checkout
git checkout nova-branch
#Switched to branch 'nova-branch'
Observação: Você poderia e criar e mudar pra nova-branch automáticamente usando
a opção -b assim git checkout -b nova-branch se quiser voltar pra
branch master utilize também git checkout master.
5 - Após fazer qualquer alteração no seu [REPOSITÓRIO] que você ‘forkou’, não se esqueça de completar as alterações de acordo com o CURSO DE GIT E GITHUB PARA INICIANTES.
git add -A
git commit -m "alterei o arquivo x"
# o -m é para mensagens curtas, se fosse maior
# bastava digitar 'git commit' e o editor padrão iria se abrir
# Veja mais em http://terminalroot.com.br/git
6 - Use o comando git push pra empurrar as alterações para seu repositório, a
opção --set-upstream é porque utilizamos uma nnova branch nova-branch.
git push --set-upstream origin nova-branch
7 - Vá no Github e clique em Compare e Pull Request , se quiser adicione um comentário e clique em Create Pull Request.
Observação: Se outras pessoas também estão fazendo alteração nesse mesmo repositório, é necessário que você sincronize as mudanças com de outros usuários. Então verifique quais repositórios remotos você configurou, para isso utilize o comando abaixo para ver esses dados.
git remote -v
Para sincronize com o ‘fork’ use o comando abaixo para adicionar outros repositórios.
git remote add upstream https://github.com/original-[USUÁRIO]/original-[REPOSITÓRIO].git
Depois rode de novo o comando git remote -v para ver os novos repositórios adicionados.
8 - Para sincronizar com o ‘fork’ usaremos o comando git fetch para buscar as branches junto com seus respectivos commits, de novo usaremos a opção upstream.
git fetch upstream
#From https://github.com/original-[USUÁRIOS]/original-[REPOSITÓRIO]
# * [new branch] master -> upstream/master
9 - Depois o [USUÁRIO-ORIGINAL] poderá fazer um merge clicando em Pull requests, depois clicando no commit e então em Merge pull request e finalmente Confirm merge.