Eu gostaria de contribuir para um determinado projeto no GitHub . Devo bifurcar ? Ramificá- lo? O que é recomendado e como fazê-lo?
Eu gostaria de contribuir para um determinado projeto no GitHub . Devo bifurcar ? Ramificá- lo? O que é recomendado e como fazê-lo?
Respostas:
Idealmente você:
se for uma nova solicitação de recurso, não inicie a codificação primeiro. Lembre-se de postar um problema para discutir o novo recurso.
Se o recurso for bem discutido e houver +1 ou o proprietário do projeto o aprovou, atribua o problema a si mesmo e siga as etapas acima.
Alguns projetos não usam o sistema de solicitação de recebimento. Verifique com o autor ou a lista de discussão a melhor maneira de recuperar seu código no projeto.
Para adicionar à resposta de Yann , depois de criar um projeto, você pode desenvolver em qualquer ramo que desejar (um novo ou um do projeto original)
Lembrar de:
origin
', pois origin
seria seu próprio repositório, resultado do fork)git checkout master;
git pull;
mesmo para o desenvolvimento (onde meu ramo de recursos foi mesclado primeiro) A diferença que posso pensar depois de ler "pull vs pull --rebase" e "merge vs rebase" é apenas o histórico plano. Mais alguma coisa mais profunda?
Para adicionar às respostas de Yan e VonC, este é um bom recurso do próprio github: http://help.github.com/forking/
Também não deixe de olhar na barra lateral direita, sob o cabeçalho "colaborando".
Há um ótimo vídeo do Railscast aqui que mostra o processo. Ele também possui várias dicas boas, como mostrar como determinar em qual filial você deseja trabalhar ao contribuir, usar testes, submódulos etc.
Embora esse screencast seja focado principalmente nos desenvolvedores do Rails, a maioria das informações é válida para contribuir com qualquer projeto de código aberto.
O Github tem muitas maneiras de colaborar com um projeto. O modelo que a maioria dos projetos usa é um modelo de solicitação de recebimento. Comecei um projeto para ajudar as pessoas a fazer sua primeira solicitação de recebimento do GitHub. Você pode fazer o tutorial prático para fazer seu primeiro PR aqui
O fluxo de trabalho é simples como
git push origin branch-name
Compare and pull request
botãoO lornajane possui uma postagem no blog que explica bem o processo: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Eu sugeriria o seguinte fluxo de trabalho:
Clone (na linha de comando)
git clone <url-from-your-workspace>
Digite o diretório que acabou de ser criado e crie uma ramificação
cd <directory>
git checkout -b <branchname>
Agora faça suas alterações
Você pode criar uma ou mais confirmações após cada alteração:
commit -a
Quando terminar, faça suas alterações
git push origin <branch>
Na sua linha de comando, você deve ver um URL para criar o PR . Visite o URL e clique no botão para criar um PR.
Caso contrário, visite o repositório no navegador e ele oferecerá um botão para criar a solicitação pull
É isso aí.
Então, basicamente, você bifurcou o repositório no seu espaço de trabalho, criou um novo ramo e empurrou esse novo ramo.
Se você posteriormente criar mais PR a partir do mesmo repositório clonado, deverá sincronizar (obter as alterações mais recentes do repositório original) antes de criar outra ramificação para outro PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Essas sugestões estão aqui para poupar o trabalho de colocar o trabalho em um PR que não será mesclado. Se houver atividade no projeto e o PR for mesclado, este é um bom sinal. Se houver diretrizes de contribuição, siga-as.
Seja sempre cortês. Lembre-se, os mantenedores do projeto não são de forma alguma obrigados a mesclar seu PR. Você tem algo valioso para adicionar ao projeto?