Apa gunanya fitur Sign Off di Git ?
git commit --signoff
Kapan saya harus menggunakannya, jika sama sekali?
sumber
Apa gunanya fitur Sign Off di Git ?
git commit --signoff
Kapan saya harus menggunakannya, jika sama sekali?
Sign-off adalah persyaratan untuk mendapatkan tambalan ke kernel Linux dan beberapa proyek lainnya, tetapi sebagian besar proyek tidak benar-benar menggunakannya.
Itu diperkenalkan setelah gugatan SCO , (dan tuduhan pelanggaran hak cipta dari SCO lainnya , yang sebagian besar tidak pernah mereka bawa ke pengadilan), sebagai Surat Keterangan Asal Pengembang . Ini digunakan untuk mengatakan bahwa Anda menyatakan bahwa Anda telah membuat tambalan tersebut, atau bahwa Anda menyatakan bahwa sepengetahuan Anda, itu dibuat di bawah lisensi sumber terbuka yang sesuai, atau bahwa itu telah diberikan kepada Anda oleh seseorang lain di bawah persyaratan tersebut. Ini dapat membantu membangun rantai orang yang bertanggung jawab atas status hak cipta dari kode yang dimaksud, untuk membantu memastikan bahwa kode yang dilindungi hak cipta tidak dirilis di bawah lisensi perangkat lunak (sumber terbuka) gratis yang sesuai tidak termasuk dalam kernel.
Signed-off-by:
baris pesan commit oleh proyek kernel Linux (dan proyek Git itu sendiri). Untuk proyek-proyek lain, bagaimanapun, garis tersebut tidak ada artinya kecuali pihak yang ditunjuk proyek yang berarti mereka (misalnya dengan menggambarkan mereka dalam dokumentasi proyek, misalnya Linux SubmittingPatches atau Git ini SubmittingPatches ).Sign-off adalah baris di akhir pesan komit yang menyatakan siapa penulis komit tersebut. Tujuan utamanya adalah untuk meningkatkan pelacakan siapa yang melakukan apa, terutama dengan tambalan.
Contoh komit:
Itu harus berisi nama asli pengguna jika digunakan untuk proyek open-source.
Jika pengelola cabang perlu sedikit memodifikasi tambalan untuk menggabungkannya, ia bisa meminta submitter untuk melakukan rediff, tetapi itu akan menjadi kontra-produktif. Dia dapat menyesuaikan kode dan menandatangani di akhir sehingga penulis asli masih mendapat kredit untuk patch.
Sumber: http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html
sumber
author
bidang git komit? Saya selalu berpikir itu sebabnya ada bidang yang terpisahauthor
dancommitter
. Penulis menjadi penulis tambalan dan komuter adalah orang yang menerapkan dan mendorong tambalan.git 2.7.1 (Februari 2016) mengklarifikasi bahwa dalam commit b2c150d (05 Jan 2016) oleh David A. Wheeler (
david-a-wheeler
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 7aae9ba , 05 Feb 2016)git commit
halaman manual sekarang termasuk:Perhatikan bahwa signoff ini sekarang (untuk Git 2.15.x / 2.16, Q1 2018) juga tersedia
git pull
.Lihat komit 3a4d2c7 (12 Okt 2017) oleh W. Trevor King (
wking
) .(Digabung oleh Junio C Hamano -
gitster
- di commit fb4cd88 , 06 Nov 2017)sumber
Ada beberapa jawaban yang bagus untuk pertanyaan ini. Saya akan mencoba menambahkan jawaban yang lebih luas, yaitu tentang apa jenis garis / header / trailer ini dalam praktik saat ini. Tidak terlalu banyak tentang header sign-off pada khususnya (itu bukan satu-satunya).
Header atau trailer (↑ 1) seperti "sign-off" (↑ 2) adalah, dalam praktik saat ini dalam proyek-proyek seperti Git dan Linux, terstruktur metadata yang efektif untuk komit. Ini semua ditambahkan ke akhir pesan komit, setelah bagian "bentuk bebas" (tidak terstruktur) dari tubuh pesan. Ini adalah pasangan token-value (atau key-value ) yang biasanya dibatasi oleh titik dua dan spasi (
:␣
).Seperti yang saya sebutkan, "sign-off" bukan satu-satunya trailer dalam praktik saat ini. Lihat misalnya komit ini , yang berkaitan dengan "Sapi Kotor":
Selain cuplikan "sign-off" di atas, ada:
Proyek-proyek lain, seperti misalnya Gerrit, memiliki header sendiri dan makna yang terkait untuk mereka.
Lihat: https://git.wiki.kernel.org/index.php/CommitMessageConventions
Pesan moral dalam cerita
Adalah kesan saya bahwa, meskipun motivasi awal untuk metadata khusus ini adalah beberapa masalah hukum (dilihat dari jawaban lain), praktik metadata tersebut telah berkembang melampaui hanya berurusan dengan kasus pembentukan rantai kepenulisan.
[↑ 1]:
man git-interpret-trailers
[↑ 2]: Tampaknya ini juga kadang-kadang disebut “isak” (inisial).
sumber