Etykieta do edytowania czyichś poleceń ściągania

19

Posiadam repozytorium na GitHub, do którego ktoś wysłał żądanie ściągnięcia z jednym zatwierdzeniem. Chcę tylko częściowo wdrożyć jego rozwiązanie i użyć około połowy zmian kodu dokonanych przez użytkownika. Co powinienem zrobić w tej sytuacji?

Utwórz gałąź jego wersji, a następnie wróć, skopiuj i wklej „stary” kod, który chcę zachować z oryginalnej wersji, do drugiego zatwierdzenia. Może to sprawić, że różnica między zatwierdzeniami będzie wyglądać na większą niż jest w rzeczywistości, i zrzucić takie rzeczy git blame.

Skopiuj i wklej kod, który chcę zachować od jego zatwierdzenia, do nowego, innego zatwierdzenia . Oznacza to, że nie otrzymuje uznania za swój cenny wkład w kod.

Tak jak powyżej, skopiuj część jego kodu do nowego zatwierdzenia, ale zmień autora tego zatwierdzenia na niego zamiast na mnie . Technicznie nie napisał dokładnie tego, który kod został popełniony, więc nie jestem pewien, czy ktoś go skrzywi. Ale przynajmniej dostaje uznanie za te linie, które są używane.

IQAndreas
źródło
1
Pamiętaj, że git rozróżnia „autora” i „sprawcę”. Więc kiedy przepisujesz ich zatwierdzenia, aby zawierały tylko to, czego naprawdę chcesz, nadal będą uważani za autorów. A ty sprawca.
Jan Hudec

Odpowiedzi:

36

Pójdę z opcji 4: wyjaśnić, dlaczego jego żądanie uczestnika ciągnąć nie pasuje cele projektu (oraz w procesie dać wpłacającego szansę, aby wyjaśnić, dlaczego uważa, że robi ) i poprosić go, aby ponownie nową wersję zawierającą tylko zmiany pasujące do projektu.

Ma to trzy zalety:

  1. Nie musisz wykonywać pracy ;-)
  2. Współtwórca lepiej zrozumie twoje cele, dzięki czemu istnieje większe prawdopodobieństwo, że w przyszłości wkład nie będzie wymagał żadnych zmian
  3. Oprócz zachowania poczucia własności, uczestnik jest uznawany i uznaje się, że wniósł użyteczny wkład. Wszystko to sprawia, że ​​bardziej prawdopodobne jest, że będą nadal wnosić swój wkład
Jörg W Mittag
źródło
3
Klasyczny przykład rozwiązania społecznego problemu technicznego.
Paul