Etichetta per la modifica della richiesta pull di qualcuno


19

Possiedo un repository su GitHub a cui qualcuno ha inviato una richiesta pull con un unico commit. Voglio implementare solo parzialmente la sua soluzione e utilizzare circa la metà delle modifiche apportate al codice dall'utente. Cosa dovrei fare in questa situazione?

Crea un ramo della sua versione, quindi torna indietro e copia e incolla il "vecchio" codice che voglio conservare dalla versione originale in un secondo commit. Questo può far apparire la differenza tra commit più grande di quanto non sia in realtà, e buttare via cose del genere git blame.

Copia e incolla il codice che voglio mantenere dal suo commit in un nuovo commit diverso . Ciò significa che non riceve credito per il suo prezioso contributo al codice.

Come sopra, copia parte del suo codice in un nuovo commit, ma cambia l'autore del commit in lui invece che in me . Tecnicamente non ha scritto il codice esatto che è stato commesso, quindi non sono sicuro se questo è malvisto. Ma almeno ottiene l'attribuzione per quelle linee che vengono utilizzate.


1
Ricorda che git distingue "autore" e "committer". Quindi, quando riscrivi i loro commit per contenere solo ciò che realmente vuoi, saranno comunque considerati autori. E tu il committer.
Jan Hudec,

Risposte:


36

Vorrei andare con l'opzione 4: spiegare al collaboratore perché la sua richiesta pull non soddisfa gli obiettivi del progetto (e nel frattempo dare al contributore la possibilità di spiegare perché lo pensa faccia ) e chiedergli di inviare nuovamente una nuova versione contenente solo le modifiche che si adattano al progetto.

Questo ha tre vantaggi:

  1. Non devi fare il lavoro ;-)
  2. Il collaboratore comprenderà meglio i tuoi obiettivi, aumentando la probabilità che i contributi futuri non necessitino di modifiche
  3. Oltre a conservare un senso di proprietà, il collaboratore viene riconosciuto e riconosciuto come un collaboratore utile. Tutto ciò li rende più propensi a continuare a contribuire

3
Un classico esempio di soluzione sociale a un problema tecnico.
paul
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.