When a file doesn't have an associated .meta file, unity creates a new one with a completely random guid. However unity makes references using guids, which means for example UnlitHideWhenShown.mat references a valid shader file in your personnal project, but in all other projects, it references something that doesn't exist in all other projects, because UnlitHideWhenShown.shader was associated a new guid
(if you try this is your project, i am 99% sure the guids will be the same)
which means the material throws a error because it can't find its associated shader
try it in a blank project if you're not convinced, you'll see what i mean
so if you push your .meta files to the repo, everything will have the same guid for everyone, and that will be very cool :))))
When a file doesn't have an associated .meta file, unity creates a new one with a completely random guid. However unity makes references using guids, which means for example UnlitHideWhenShown.mat references a valid shader file in your personnal project, but in all other projects, it references something that doesn't exist in all other projects, because UnlitHideWhenShown.shader was associated a new guid
(if you try this is your project, i am 99% sure the guids will be the same) which means the material throws a error because it can't find its associated shader
try it in a blank project if you're not convinced, you'll see what i mean
so if you push your .meta files to the repo, everything will have the same guid for everyone, and that will be very cool :))))