Etiqueta para editar a solicitação de recebimento de alguém

19

Eu possuo um repositório no GitHub para o qual alguém enviou uma solicitação de recebimento com uma única confirmação. Eu só quero implementar sua solução parcialmente e usar cerca de metade do código que o usuário fez. O que devo fazer nesta situação?

Faça uma ramificação da versão dele, depois volte e copie e cole o código "antigo" que desejo preservar da versão original em um segundo commit. Isso pode fazer com que a diferença entre commits pareça maior do que realmente é, e descarta coisas como git blame.

Copie e cole o código que desejo manter do seu commit em um novo e diferente commit . Isso significa que ele não recebe crédito por sua valiosa contribuição para o código.

Igual ao anterior, copie parte de seu código para um novo commit, mas altere o autor do commit para ele, em vez de para mim . Ele tecnicamente não escreveu o código exato que foi confirmado, então não tenho certeza se isso é mal visto. Mas pelo menos ele recebe atribuição pelas linhas que são usadas.

IQAndreas
fonte
1
Lembre-se de que o git distingue "autor" e "committer". Portanto, quando você reescrever seus commits para conter apenas o que você realmente deseja, eles ainda serão considerados autores. E você o committer.
Jan Hudec

Respostas:

36

Eu usaria a opção 4: explique ao colaborador por que a solicitação pull não se encaixa nos objetivos do projeto (e, no processo, dê ao colaborador a chance de explicar por que ele acha que é ) e peça a ele que reenvie uma nova versão que contenha somente as mudanças que se encaixam no projeto.

Isso tem três benefícios:

  1. Você não precisa fazer o trabalho ;-)
  2. O colaborador entenderá melhor suas metas, aumentando a probabilidade de que futuras contribuições não precisem de alterações
  3. Além de manter um senso de propriedade, o colaborador é reconhecido e reconhecido como tendo feito uma contribuição útil. Tudo o que os torna mais propensos a continuar contribuindo
Jörg W Mittag
fonte
3
Um exemplo clássico de uma solução social para um problema técnico.
11133 paul