Bir betikten bir alt ağaç geçmişini yeniden yazdıktan sonra, aynı alt ağaç üzerinde git filter-branch ...
ile ne yapacağını karşılaştırdım. İlk işlerin farklı sha1 olduğunu görmeme rağmen, bunların aynı olmalarını bekledim (bunun sonucu olarak, her iki tarihin de tümünün farklı şekilleri vardır).görünüşte aynı taahhütler farklı sha1 veriyor, neden?
Her iki işlemin de bir git show --format=raw <commit-sha1>
yapması, tam olarak aynı çıkışı verir (ilk satır, commit <commit-sha1>
olan, sonuç tanıtımı olan).
Nesne dosyaları tamamen farklıdır, ancak ikili oldukları için kök nedenini anlayamıyorum.
Tüm git sürümlerinin birbiriyle tutarlı olduğunu varsayarsak, 2 farklı sha1'e sahip ne olabilir?
böyle ağacın SHA1 olarak karma işlemek bir size
Belki de değişen bir e-posta, değişen bir taahhüt tarihi veya benzer bir meta bilgi var mı? –