I'd like to see the changes made in a scene (.unity file) before I
commit them to git.
Any decent git tool will do this provided the scene file is not binary; but, as you mentioned, the GUID references makes it difficult to read. If the scene is binary, serialization may be updated in Edit -> Project Settings -> Editor -> Asset Serialization
; but, be warned: data-loss may occur (See Draco18s comment below.).
I have looked into several GIT/Unity solutions but all of them are made for merging changes and not for showing a diff with last version.
Seeing the changes made to a single file is one of the core features of git log. In fact, there's a stackoverflow question on that. Basically you'd use something like
git log --follow path/to/scene.unity
to display the history of that file. Add -1
to display the most recent changes to the specified file. Ommit -1
and use -p
to see the patch made for each commit that modified that file. I recommend reading through the stackoverflow question before touching the git-log documentation because it's very long.
Instead, I'd like to see something like this:
[scene graph diff]
Is there anything existing that does this?
As far as I can tell, No. That being said, Unity for Git appears to be the natural place to find it. Since it's in alpha, you should create an issue there to address this. Since it's unique to applying git diff on unity's intrinsic scene graphs, I suspect it'l be strongly relevant there.