Eu sou novo no GitHub e VCS em geral. Venho programando em vários idiomas há anos, mas sempre trabalhei sozinho em projetos personalizados (sem lançamentos públicos). Recentemente, comecei a usar um widget da UI do jQuery que baixei do GitHub em um projeto em que estou trabalhando. O repo não é mais mantido pelo autor original. Outro garfo incorporou alguns dos pedidos de recebimento originais. Este é o que eu bifurquei.
Encontrei alguns bugs e criei as correções para eles. Eu gostaria de contribuir com essas correções, mas também tenho muitas outras alterações que quero fazer, para nosso próprio uso, que quebrarão alguns dos recursos existentes. Além disso, gostaria de incorporar uma ideia de outro garfo.
Ainda estou aprendendo GIT e GitHub e estou tentando descobrir a melhor maneira de fazer tudo. Eu li muito (aqui, SO, páginas de ajuda do GitHub, Pro Git) sobre diferentes conceitos / tarefas: fluxos de trabalho, mesclagens, solicitações pull, seleção de cereja, rebasing, ramificação. Minha massa cinzenta está nadando e preciso começar a entender para entender melhor o que li.
Questões principais:
Acho que li (em algum lugar) que você só pode ter uma solicitação de recebimento em uma filial por vez. Então, isso significa que eu deveria ter uma ramificação separada para cada bug e, em seguida, fazer uma solicitação pull separada para cada um?
Quero limpar problemas de espaço em branco e me lembro de ler que é melhor fazer isso em um commit separado. Devo fazer isso no meu mestre ou em um ramo separado? Não quero fazer uma solicitação pull por algo tão trivial , mas se eu fizer alterações no espaço em branco antes da ramificação, isso afetará a solicitação pull para as correções de bugs? Alguns garfos limparam os espaços em branco e efetivamente tornaram a diferença bastante inútil.
Eu estava pensando em criar problemas no meu fork como uma maneira de documentar os erros, mesmo que eu já tenha a correção para eles. Essa é uma boa ideia? Como faço para vincular o problema, a confirmação e a mesclagem ao domínio? Se eu fizer uma solicitação pull a montante, meu problema também aparecerá a montante ou o link da documentação será perdido? Não consigo abrir um problema no repositório upstream (não há guia de problemas).
Qual é a melhor maneira de dar crédito ao outro autor da bifurcação pela ideia dele que eu quero usar? Não posso usar exatamente o código dele, principalmente porque a alteração é aplicada a uma versão mais antiga do upstream e não é compatível com minhas outras alterações. Mas quero usar a ideia e dar crédito onde o crédito é devido. Devo apenas vincular ao seu repositório (ou perfil ou confirmação específica) na minha mensagem de confirmação?
Qual é a etiqueta em relação à alteração do arquivo leia-me e do DocBlock na parte superior do arquivo principal? Posso fazer alterações, adicionar meu nome, adicionar links ao meu repositório e demo, remover links para o demo original (já que meu fork será incompatível com o original)? Obviamente, deixarei o nome do autor original e as informações da licença. Para o registro, é licenciado sob a licença MIT.
Como desenvolvedor solo que nunca usou o VCS, estou acostumado a reescrever a história . Sou perfeccionista e gosto de coisas limpas e arrumadas. A idéia da história registrada está me deixando um pouco nervosa e quero fazer certo da primeira vez . Criei um novo repositório para brincar / aprender, mas estou ansioso para começar a consertar o widget da interface do usuário do jQuery para que eu possa continuar com o meu projeto.
fonte