Jaki jest sens funkcji Wyloguj się w Git ?
git commit --signoff
Kiedy powinienem go użyć, jeśli w ogóle?
źródło
Jaki jest sens funkcji Wyloguj się w Git ?
git commit --signoff
Kiedy powinienem go użyć, jeśli w ogóle?
Wylogowanie się jest wymagane do uzyskania łatek do jądra Linuksa i kilku innych projektów, ale większość projektów tak naprawdę go nie używa.
Został wprowadzony w następstwie procesu SCO (i innych oskarżeń SCO o naruszenie praw autorskich , z których większość nigdy nie wniosła sprawy do sądu), jako świadectwo pochodzenia deweloperów . Mówi się, że poświadczasz, że utworzyłeś łatkę, o której mowa, lub że, zgodnie z Twoją najlepszą wiedzą, został on utworzony na podstawie odpowiedniej licencji typu open source lub że został Ci dostarczony przez kogoś jeszcze na tych warunkach. Może to pomóc w ustanowieniu łańcucha osób, które biorą odpowiedzialność za status praw autorskich danego kodu, aby zapewnić, że kod chroniony prawem autorskim, który nie został wydany na podstawie odpowiedniej licencji wolnego oprogramowania (open source), nie jest zawarty w jądrze.
Signed-off-by:
linii komunikatów zatwierdzania przez projekt jądra Linux (i sam projekt Git). Jednak w przypadku innych projektów takie wiersze nie mają znaczenia, chyba że projekt przypisuje im znaczenie (np. Opisując je w dokumentacji projektu; np. Linux SubmittingPatches lub Git's SubmittingPatches ).Wylogowanie to wiersz na końcu komunikatu zatwierdzenia, który poświadcza, kto jest autorem zatwierdzenia. Jego głównym celem jest poprawa śledzenia tego, kto co zrobił, zwłaszcza z łatkami.
Przykład zatwierdzenia:
Powinien zawierać prawdziwą nazwę użytkownika, jeśli jest używany w projekcie typu open source.
Jeśli opiekun oddziału będzie musiał nieznacznie zmodyfikować łatki w celu ich scalenia, może poprosić zgłaszającego o ponowne wprowadzenie poprawek, ale przyniosłoby to efekt przeciwny do zamierzonego. Może dostosować kod i odłożyć swój podpis na końcu, aby pierwotny autor wciąż zyskał uznanie za łatkę.
Źródło: http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html
źródło
author
dziedzinie git commit? Zawsze myślałem, że właśnie dlatego istniało oddzielneauthor
icommitter
pole. Autor jest autorem łatek, a sprawcą jest facet, który zastosował i wypchnął łatkę.git 2.7.1 (luty 2016 r.) wyjaśnia, że w zatwierdzeniu b2c150d (05 stycznia 2016 r.) David A. Wheeler (
david-a-wheeler
) .(Połączone przez Junio C Hamano -
gitster
- w commit 7aae9ba , 05 lutego 2016)git commit
strona man zawiera teraz:Zauważ, że to wylogowanie jest teraz (dla Git 2.15.x / 2.16, Q1 2018) również dostępne
git pull
.Zobacz commit 3a4d2c7 (12 października 2017 r.) Autorstwa W. Trevora Kinga (
wking
) .(Połączone przez Junio C Hamano -
gitster
- w commit fb4cd88 , 06 listopada 2017)źródło
Istnieje kilka fajnych odpowiedzi na to pytanie. Spróbuję dodać szerszą odpowiedź, a mianowicie o tym, jakie są tego rodzaju linie / nagłówki / przyczepy w obecnej praktyce. W szczególności nie tyle nagłówek podpisu (to nie jedyny).
Nagłówki lub zwiastuny (↑ 1), takie jak „sign-off” (↑ 2), są w obecnej praktyce w projektach takich jak Git i Linux, skutecznie ustrukturyzowane metadane dla zatwierdzenia. Wszystkie są dołączane na końcu komunikatu zatwierdzenia, po „swobodnej formie” (nieustrukturyzowanej) części treści komunikatu. Są to pary symbol-wartość (lub klucz-wartość ) zwykle rozdzielane dwukropkiem i spacją (
:␣
).Jak wspomniałem, „podpisanie się” nie jest jedynym zwiastunem w obecnej praktyce. Zobacz na przykład ten zatwierdzenie , które ma związek z „Dirty Cow”:
Oprócz powyższego zwiastuna „Sign-off” dostępne są:
Inne projekty, jak na przykład Gerrit, mają dla nich własne nagłówki i związane z nimi znaczenie.
Zobacz: https://git.wiki.kernel.org/index.php/CommitMessageConventions
Morał historii
Mam wrażenie, że chociaż początkową motywacją dla tych konkretnych metadanych były pewne kwestie prawne (sądząc po innych odpowiedziach), praktyka takich metadanych wykroczyła poza zwykłe zajmowanie się przypadkiem tworzenia łańcucha autorstwa.
[↑ 1]:
man git-interpret-trailers
[↑ 2]: Wydaje się, że są one czasem nazywane „szlochem” (inicjały).
źródło