I was using EditorUtility.SetDirty for most of my script in Unity 5.6.
Which obviously have been decrepitated from Doc here: Unity - Scripting API: EditorUtility.SetDirty.
The troublesome with SetDirty is the asset files not save on changed immidiately as Unity only save it when you exit Unity.
As the project grow, it is a bit too much to reopen and exit just to save file and push some change to Git.
Any of you guys have solution to force save file immidiately would be much help.