(ส่วนใหญ่มาจากเรื่องสยองขวัญของ Git: ความสมบูรณ์ของพื้นที่เก็บข้อมูลที่มีการเซ็นสัญญา - อ่านได้ดีมากและมีข้อมูลมากกว่าที่ฉันจะตอบได้)
มีหลายวิธีในการที่ที่เก็บ git สามารถถูกบุกรุกได้ (นี่ไม่ใช่ข้อบกพร่องด้านความปลอดภัย แต่เป็นความจริงของชีวิต - เราไม่ควรหลีกเลี่ยงการใช้ git เพราะสิ่งนี้) ตัวอย่างเช่นบางคนอาจผลักไปยังที่เก็บของคุณที่อ้างว่าเป็นคุณ หรือสำหรับเรื่องนั้นใครบางคนอาจผลักไปที่ที่เก็บของคนอื่นที่อ้างตัวว่าเป็นคุณ (บางคนสามารถผลักไปที่ที่เก็บของตัวเองโดยอ้างว่าเป็นคุณเช่นกัน) นี่เป็นเพียงส่วนหนึ่งของชีวิตใน DVCS
เช่นเดียวกับตัวอย่าง:
$ git config --global user.name 'Madara Uchiha'
$ git config --global user.email muchiha@example.com
ที่นั่นฉันได้เปลี่ยนการตั้งค่าคอมไพล์ของฉันเพื่อแกล้งฉันว่าคุณ และตอนนี้ฉันสามารถออกไปและปล่อยให้คนที่มุ่งมั่นอย่างใดเข้ามาในการสร้างการผลิตและดูเหมือนว่าคุณได้ทำมัน
ด้วยการลงนามในการกระทำ (และแท็ก) คุณสามารถพิสูจน์ได้ว่าการกระทำและแท็กบางอย่างมาจากคุณ นั่นคือกุญแจสำคัญในทุกสิ่ง - โดยการเซ็นสัญญาคุณได้บอกว่ามันเป็นงานของคุณ
แง่มุม "งานของคุณ" มีความสำคัญอย่างยิ่งในเคอร์เนลลินุกซ์ (และคอมไพล์เช่นนั้น) ซึ่งบางครั้งอาจมีการฟ้องร้องทางลิขสิทธิ์ โดยการลงนามผูกพันคุณบอกว่าคุณมีสิทธิ์ซอฟต์แวร์ - มันติดตามต้นกำเนิด อาจเป็นไปได้ว่าคุณไม่สามารถเข้าถึงแหล่งข้อมูลที่อ้างว่าเป็นลิขสิทธิ์และการอ้างสิทธิ์นั้นไม่มีเหตุผล อาจเป็นเพราะ บริษัท ลืมไปว่าคุณทำงานให้พวกเขาเมื่อสองสามปีก่อนและภายใต้การดูแลของพวกเขาได้เพิ่มวัสดุเข้าไปในเคอร์เนลหรืออะไรก็ตาม
มีการถกเถียงกันว่าควรลงนามมอบอำนาจทุกครั้งหรือไม่ จากการลงนาม GPG สำหรับคอมมิทคอม? (ย้อนหลังใน '09), Linus เขียนว่า:
การลงนามแต่ละการกระทำนั้นโง่โดยสิ้นเชิง หมายความว่าคุณทำให้เป็นอัตโนมัติและคุณทำให้ลายเซ็นมีค่าน้อยลง นอกจากนี้ยังไม่ได้เพิ่มคุณค่าที่แท้จริงใด ๆ ตั้งแต่วิธีการทำงานของห่วงโซ่ DAG คอมไพล์ของ SHA1 คุณเพียงแค่ต้องการลายเซ็นเดียวเพื่อให้การกระทำทั้งหมดเข้าถึงได้จากสิ่งนั้น ดังนั้นการลงนามในแต่ละการกระทำจึงไม่มีจุด
มากขึ้นเกี่ยวกับความคิดในการเข้าสู่ระบบคอมไพล์สามารถอ่านได้ที่นั่น
ที่กล่าวว่ามันทำให้ทางเข้าไปในคอมไพล์อย่างไรก็ตาม
ดูเหมือนว่าจะมีฉันทามติส่วนใหญ่ว่าการลงนามในสัญญานั้นไม่จำเป็น แต่การลงชื่อแท็กนั้นดีมาก โพสต์บล็อกที่เชื่อมโยงที่ด้านบนแสดงให้เห็นว่าควรลงนามทุกอย่าง อย่างที่ฉันพูดมีการถกเถียงกันว่าการกระทำทุกอย่างเป็นสิ่งจำเป็นหรือไม่
กุญแจสำคัญในการอภิปราย "ลงชื่อทุกกระทำ" อาจเกี่ยวข้องกับขั้นตอนการทำงานที่คุณใช้ คนส่วนใหญ่ทำคอมมิชชันใน repo ท้องถิ่นของพวกเขาแล้วกดชุดนั้น มันควรจะเพียงพอที่จะติดแท็กคอลเลกชันสุดท้าย (สมมติว่าคุณตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงทั้งหมดถูกต้อง) หากคุณกำลังทำงานในสภาพแวดล้อมที่มีการคอมมิชชันเดี่ยวจำนวนมากความแตกต่างระหว่างแท็กและการคอมมิชชันจะน้อยลง ... ชัดเจน - และการเซ็นสัญญาอาจมีประโยชน์มากกว่า