Jak ubiegać się o składki na GitHub

16

Projekt, nad którym kiedyś pracowałem, niedawno przeniósł się z używania Subversion do hostowanego na GitHub rozwiązania do kontroli źródła. Moje imię pojawia się w zatwierdzeniach, ale nie widzę żadnego sposobu, by twierdzić, że są „moje” z mojego konta github.

Wiem, że musi istnieć jakiś sposób, aby to zrobić, ponieważ inni współautorzy mają swój wkład powiązany z kontem github, nawet zanim przeniesiono się do korzystania z github.

Czy ktoś może mi powiedzieć, jak mogę uznać te zmiany za moje?

TZHX
źródło
Być może musisz dodać .mailmapplik. Nie jestem jednak pewien, czy GitHub je szanuje.
asmeurer
Ach, wygląda na to, że nie.
asmeurer

Odpowiedzi:

12

Dopasowywanie kont użytkowników GitHub do zatwierdzeń odbywa się za pomocą adresu e-mail powiązanego z git commit z jednej strony (tj. Twojego user.emailustawienia) i konta powiązanego z kontem GitHub z drugiej strony (patrz „Informacje o adresach e-mail zatwierdzania” i „Dlaczego moje zatwierdzenia są powiązane do niewłaściwego użytkownika? ” w Dokumentacji użytkownika GitHub). Aby dopasować swoje zobowiązania do konta, po prostu dodaj powiązane adresy e-mail do konta GitHub .

kopischke
źródło
2
Czy github zastosuje je do wykresu wkładów z mocą wsteczną? Wydaje się, że tak nie jest.
Matt M.
1
@MattM. Nie jestem co do tego pewien. Jeśli nie, wydaje mi się to błędem w obsłudze wykresu przez GitHub. Zgłoś się do nich może?
kopischke
Ze względu na kompletność, nieprawidłowe ustawienie adresu e-mail jest prawdopodobnie spowodowane wcześniejszą zmianą adresu e-mail. Rzeczywiście, kto znałby takie najlepsze praktyki opuszczania firmy PRZED RĘKĄ? Github powinien był poinformować mnie o takiej konsekwencji, gdy usuwam swój stary e-mail za pośrednictwem strony ustawień profilu.
RayLuo
0

Oprócz odpowiedzi kopischke :

Ponieważ dopasowanie odbywa się za pomocą adresu e-mail - jeśli e-mail w zatwierdzeniu pasuje do twojego e-maila, zrobi to automatycznie.

Idealnie byłoby, gdyby ta wymiana e-maili i naprawa były zrobione podczas konwersji z SVN do Git. Jeśli używasz narzędzi do konwersji, istnieją również opcje mapowania każdego e-maila / użytkownika na inny e-mail, który zostanie zapisany w odpowiednich zatwierdzeniach Git.

  • Zrobiłem to dla mojej organizacji, przenosząc projekty z SVN do Git, i działało to świetnie. Chociaż musiałem ręcznie mapować wiele adresów, ponieważ skrypty, które utworzyłem w celu zautomatyzowania, nie mogły wychwycić wszystkich przypadków, ale wszystko działało, a każdy e-mail w dowolnym zatwierdzeniu był powiązany z użytkownikiem w organizacji.

Po przesłaniu projektu do GitHub (lub innej usługi hostingowej Git) lub udostępnieniu go innym osobom w jakikolwiek sposób - jest to o wiele bardziej problematyczne:
możliwa jest edycja wszystkich zatwierdzeń lokalnie i podanie potrzebnych informacji (tj. Nowego e-maila) , ale będziesz musiał wymusić wypchnięcie repozytorium i wszyscy będą musieli go wymusić.
Jest prawdopodobne, że projekt ma niewielką liczbę członków / współpracowników i nie ma widelców, a następnie możesz dotrzeć do każdego z nich i zorganizować zmianę.

Naprawdę nie sądzę, aby GitHub oferował takie narzędzie, ale może jeśli dodasz wiadomość e-mail do zatwierdzenia jako inną wiadomość e-mail do swojego konta GitHub - rozpozna ją - warto spróbować, jeśli to możliwe.

arieljannai
źródło