Dalam dokumentasi ini disebutkan
Objek komit dapat memiliki sejumlah orang tua.
Tetapi dari pemahaman saya, satu-satunya kasus di mana komit akan memiliki lebih dari 1 orang tua adalah ketika penggabungan telah terjadi, dan dalam kasus itu hanya akan ada dua orang tua. Jadi pertanyaan saya adalah, bisakah komit memiliki lebih dari 2 orang tua? Jika ya, kapan?
Jawaban:
Anda dapat menggunakan git merge untuk menggabungkan lebih dari satu komit ke cabang Anda saat ini. Dari
man git-merge
(ataugit help merge
):Hasilnya akan menjadi komitmen dengan lebih dari dua orang tua ketika Anda melakukan itu.
sumber
Ya, bagaimana dengan 100k orang tua?
Berikut ini adalah contoh GitHub langsung dengan gabungan 100k komit: https://github.com/cirosantilli/test-octopus-100k Dihasilkan dengan skrip ini .
Hal sepele
Linus tidak suka komitmen dengan lebih dari 60 orang tua: https://www.destroyallsoftware.com/blog/2017/the-biggest-and-weirdest-commits-in-linux-kernel-git-history
Lihat format untuk objek komit Git
https://stackoverflow.com/questions/22968856/what-is-the-file-format-of-a-git-commit-object/37438460#37438460
Dari analisis itu, kita dapat melihat bahwa daftar daftar orang tua adalah daftar jenis baris baru yang sewenang-wenang:
sehingga jumlah orang tua yang sewenang-wenang diizinkan.
Contoh minimal
Naskah:
Keluaran:
sumber
Anda dapat menentukan lebih dari satu cabang saat penggabungan.
Sebagai contoh:
Kemudian komit memiliki lebih banyak orang tua.
sumber