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.


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

3
Klasyczny przykład rozwiązania społecznego problemu technicznego.
Paul
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.