Git üçün kapatma xüsusiyyəti nədir?

Gitdə çıxış funksiyasının məqsədi nədir?

 git commit --signoff 

Onu nə vaxt istifadə etməliyəm?

400
26 дек. Clark Gaebel dekabrın 26-da təyin olundu 2009-12-26 01:30 '09 saat 01: 30-da 2009-12-26 01:30
@ 4 cavab

Çıxarış Linux kernelində və bir sıra digər layihələrdə düzəlişlərin alınması tələbidir, lakin əksər layihələr həqiqətən onu istifadə etmir.

Bu, ŞKO-nun iddiasından sonra (və ŞƏT-dən müəllif hüquqlarının pozulması ilə bağlı digər ittihamları, məhkəmə tərəfindən qəbul olunmayanların əksəriyyəti), developers mənşəli Sertifikat kimi təqdim olundu. Düzəliş etdiyinizinizi təsdiqlədiyinizi və ya təsdiq etdiyiniz kimi, müvafiq açıq mənbə lisenziyası altında yaradıldığını və ya bu şərtlər altında başqa birinin sizə verdiyini təsdiqlədiyinizi söyləmək üçün istifadə olunur. Bu, pulsuz proqram lisenziyası (açıq mənbə) altında buraxılmayan müəllif hüququ kodunun çekirdekte yer almamasını təmin etmək üçün bu kodun telif hakkı statüsünün sorumluluğunu alan bir insan zənciri yaratmağa kömək edə bilər.

392
26 дек. Cavab Brian Campbell tərəfindən verilir 26 dekabr. 2009-12-26 01:39 '09 da 1:39 'da 2009-12-26 01:39

Çıxış, törətmənin müəllifinin kim olduğunu kimin təyin edəcəyini təsbit edən mesajın sonunda simli olur. Onun əsas məqsədi, xüsusilə düzəlişlər edənləri izləyənləri yaxşılaşdırmaqdır.

Məsələn:

 Made an update to xyz. Signed-off-by: Super Developer <super.dev@gmail.com> 

Bir açıq mənbə layihə üçün istifadə edildikdə, real istifadəçi adı olmalıdır.

border=0

Bir şöbənin inkişaf etdiricisi onları birləşdirmək üçün bir az yamaq dəyişdirməlidirsə, təqdim edəndən təkrar istəyə bilər, ancaq bunun əksinə deyil. O, kodu düzəltmək və yazıçıya hələ də yamaq üçün kredit verə bilmək üçün qoyub, səhvlərə görə deyil.

 Made an update to xyz. Signed-off-by: Super Developer <super.dev@gmail.com> [uber.dev@gmail.com: renamed methods according to naming conventions.] Signed-off-by: Uber Developer <uber.dev@gmail.com> 

Mənbə: http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html

45
26 дек. Hoto 26 dekabrda cavablandırdı 2012-12-26 20:36 '12 saat 20:36 'da 2012-12-26 20:36

git 2.7.1 (fevral 2016), b2c150d (5 yanvar 2016) tövsiyəsində David A. Wheeler ( david-a-wheeler ) olduğunu izah edir .
( Junio ​​C gitster tərəfindən birgə - gitster - 7 - də9ba , 5 fevral 2016-cı il tarixli)

git commit adamın səhifəsi indi daxildir:

 -s:: --signoff:: 

Öhdəlik sahibinin imzalanmış Signed-off-by satır satırını göndərmə mesajının sonuna əlavə edin.
İmzalanma dəyəri layihədən asılıdır, lakin adətən, öhdəlik sahibinin bu işi bir lisenziya altında təqdim etmək hüququna malik olduğunu təsdiq edir və Origin geliştirici sertifikatı ilə razıdır (daha ətraflı məlumat üçün http://developercertificate.org/ səhifəsinə bax).


- Sənədləri açıqlayan sənədləri genişləndirin

Müxtəlif sənədləri (insan səhifələrini) dəyişdirin - --signoff deməkdir.

Bu, "Bottomley-dən üzüm " məqaləsindən ilhamlandı: DCO-nun təvazökar təklifi (Origin Developer Sertifikatı), burada Paul qeyd etdi

DCO ilə olan problem, tövsiyə etmək üçün << 27> arqumentini əlavə etmək, baxdığınız olmağınızdan asılı olmayaraq, DCO-nun ( t22> adam DKO-nun hər hansı bir yerindən bəhs etmədiyini) eşitməmisiniz .

Beləliklə, " Signed-off-by " nın mövcudluğu heç bir şəkildə göndərilən şəxsin DKO-nun razılığını və ötürülməsini nəzərdə tutur? Əslində, mən SOB olmadan yamalardakı siyahıların cavablarını gördüm və "Mən onu Signed-off-by istifadə edərək göndərin" deyə söyləyib.

Git sənədlərini genişləndirmək developers anladıqları iddiasını sadələşdirəcək - istifadə etdikləri zaman --signoff .


Xatırladaq ki, bu mesaj indi (git 2.15.x / 2.16, Q1 2018 üçün) gedin git pull üçün mövcuddur.

Təqdim 3a4d2c7 (12 oktyabr 2017) W. Trevor King ( wking ) .
( Junio ​​S gitster - gitster birləşməsi - fb4cd88 , 06 noyabr 2017

pull : pass --signoff/--no-signoff git merge "

Birləşmə - --signoff , amma aşağı --signoff - istifadə etmək əlverişsizdir; seçimi almaq və keçirmək üçün ' pull ' imkanı verir.

21
06 февр. Cavab VonC 06 Fevral verilir. 2016-02-06 09:22 '16 saat 09:22 'da 2016-02-06 09:22

Bu suala yaxşı cavablar var. Mən başqa bir cavabı əlavə etməyə çalışıram, yəni, müasir təcrübədə xətlərin / başlıqların / qoşquların növləri nədir. Başlıqda çox deyil (yalnız bir deyil).

"Git" və "Linux" kimi layihələrdə mövcud praktikada "söndürmə" (↑ 2) kimi başlıqlar və ya qoşqular (↑ 1) əməl üçün effektiv şəkildə strukturlaşdırılmış metadata malikdir. Bütün bunlar mesaj orqanının "sərbəst forması" (quruluşlanmayan) hissəsindən sonra, mesaj mesajının sonuna əlavə edilir. Bunlar simvol cütləri (və ya əsas dəyər), adətən bir kolon və boşluqla məhdudlaşır ( :␣ ).

Mən dediyim kimi, "bağlanma" mövcud praktikada yalnız treyder deyil. "Dirty İnək" ilə əlaqəli olan bu törətməyə baxın:

  mm: remove gup_flags FOLL_WRITE games from __get_user_pages() This is an ancient bug that was actually attempted to be fixed once (badly) by me eleven years ago in commit 4ceb5db9757a ("Fix get_user_pages() race for write access") but that was then undone due to problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug"). In the meantime, the s390 situation has long been fixed, and we can now fix it by checking the pte_dirty() bit properly (and do it better). The s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement software dirty bits") which made it into v3.9. Earlier kernels will have to look at the page state itself. Also, the VM has become more scalable, and what used a purely theoretical race back then has become easier to trigger. To fix it, we introduce a new internal FOLL_COW flag to mark the "yes, we already did a COW" rather than play racy games with FOLL_WRITE that is very fundamental, and then use the pte dirty flag to validate that the FOLL_COW flag is still valid. Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com> Acked-by: Hugh Dickins <hughd@google.com> Reviewed-by: Michal Hocko <mhocko@suse.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Kees Cook <keescook@chromium.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Willy Tarreau <w@1wt.eu> Cc: Nick Piggin <npiggin@gmail.com> Cc: Greg Thelen <gthelen@google.com> Cc: stable@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 

Yuxarıdakı nümunədə qeydiyyatdan kənar trailerya əlavə olaraq aşağıdakılar var:

  • "Cc" (yamaqdan xəbərdar edildi)
  • "Acked-by" (kod sahibinin təsdiqlədiyi "mənə yaxşı görünür")
  • "Doğrulanmış" (baxılıb)
  • "Göndərilən və təsdiqlənmiş" (bildirildi və sorunu təsdiqlədi (məncə))

Digər layihələr, məsələn Gerrit, öz adları və əlaqəli mənası var.

Bax: https://git.wiki.kernel.org/index.php/CommitMessageConventions

Hekayənin əxlaqı

Mən təəssürat aldım ki, bu xüsusi metadata dair ilk motivasiya bəzi hüquqi məsələlər olsa da (digər cavablarla müqayisədə) belə metafatların tətbiqi müəllif zəncirinin formalaşması halında irəliləmişdir.

[↑ 1]: man git-interpret-trailers
[↑ 2]: Onlar da bəzən "Səbir" (adları) adlanır.

3
15 дек. Cavab Guildenstern tərəfindən verilir 15 dekabr. 2016-12-15 16:06 '16 'da 16:06 2016-12-15 16:06

etiketləri ilə bağlı digər suallar və ya bir sual verin