Agree with @Eduard Lebedyuk answer, want to introduce another toolset:
1. Import ISC_DEV utility to a DEFAULT_INSTANCE say in a USER namespace and map the classes of the utility to %All.
2. Setup the workdir to export the code
YOURNAMESPACE> w ##class(dev.code).workdir("/path/to/your/wor
2. export code calling:
YOURNAMESPACE> w ##class(dev.code).export()
This will export cls, routines, and dfi (DeepSee) into separate files.
3. Create the repository in git and commit all the files from the directory into the repository (and even push, if you use Github/Gitlab)
4. Repeat p1-2 for a PRODUCTION_INSTANCE and export classes into the same directory.
5. Compare the changes. If you Open the directory in VSCode with Object_Script plugin by @Dmitry Maslennikov you will immediately see the changes in Source Control section of VSCode. E.g. I introduced one line and saved the class and it shows the files changed since the latest commit and the line with the change.
Alternatively you can commit and push changes to Github/Gitlub and see the diff since the latest commit. E.g. like changes in this commit.
If you don't have DeepSee resources, p.1 can be changed to Atelier or VSCode - both have the out-of-the-box functionality to export the source into files in UDL form.