Identical png images exported from Aseprite have different hexadecimal code

I’m drawing sprite animations all packed in one Aseprite file, and after each art update, I batch export all my spritesheets into my game assets folder. I know that I only changed a few sprites, but it’s easier for me to export them and overwrite all existing files anyway.

However, when checking the resulting diff in Git, it shows me that all the image files have been modified, including those that I haven’t touched. Comparing the hexadecimal of the old and new files shows indeed some differences, but I don’t know what they correspond to.

I suppose that the way PNG is formatted means that there are several ways to obtain the same result (e.g. different colors at alpha = 0 end up transparent, the color palette could be reshuffled in Indexed Mode, etc.). However I did not really play with transparent colors nor the color palette. Is it possible that simply modifying other frames and copy-pasting pixels around may modify other frames as a side effect?

I tried to do something similar with GIMP, but even simpler, re-exporting the same white pixel over and over, and it was worse: even with no change at all, some hexadecimal character would change each time (as if it was some time marker). The issue didn’t occur with webp.

I’ll also try to export webp with Aseprite next to see if it can help.

It’s not a real issue but it makes my git commits less clear as we don’t see what images I actually changed and what was simply reexported.