[Best practices] What is the best practice to keep track of changes?

What would be Appgyver’s recommended approach towards application changes tracking?

As of today, after reaching a stable development milestone, I typically need to duplicate my app to continue the development on the app replica, so on so forth. but this is relatively cumbersome.

Also to keep track of changes I need to take screenshots and manually maintain a github repo with the screenshots and their description.
kind regards; Piotr

PS. On. a side note I often build my apps as web applications so I can I can download the source code of an app as a zip file. Still I have not seen any option that would allow for a round trip engineering - meaning being able to open a zip version of a previously downloaded web app in Composer.