I guess I am not as advanced a user as you are.
I am not sure how to run my tests the way you described and avoid changes to the file due to run. That would probably solve a lot of problems. Can you point me to documentation on running the tests from command?
However, since many of my tests relay on data from previous steps (via xpath) and assertions use x-path as generated by the test - I often get fails that are caused by changes of where the data is showing (since the xpath is looking for a specific line in the response).
My tests have 1000s of steps, and I slowly - as thing fails - started updating the xpath to @name='field name' which prevent those fails from reoccurring. But since I do it upon fail - I make changes to my tests while running them, and I do want to commit those changes.