HABApp - Best practice for developing rules?

I am not a professional coder.

My environment has been to have a PyCharm project open a folder on a shared Samba share that contains my OpenHAB conf folder. From there I would develop rules, where the changes are immediately deployed.

But I have three new variables to work with: I am trying to collaborate with a High School intern for python development for my small business, parts of which rely on OH, Node Red and other python code. Additionally I would like to leverage GitHub for version control and lastly PyCharm lately seems to be constantly complaining about the file system getting updates and forcing me to reload my rules in the IDE.

So I am trying to figure out a best practice development environment.

I thought I could clone the repository and run a local copy of HABApp in docker or in a venv but it seems that all the rules would be duplicated and run both on the server and in my local copy. I am not sure I understand Github well enough to only keep development rules running in a second environment or how to quickly push ‘verified’ rules up to GitHub and down to the production environment quickly and easily.

Lastly - I think there is power in PyCharm that I do not understand.

How does everyone do this?
@Spaceman_Spiff

I separated deployment from code:
I have the git repo on my local that contains all my code and I deploy it manually by copying/syncing the files to my openHAB machine. I hit save often and I don’t want HABApp to reload rules that are not complete yet.
Everything is local so changes to the local files only happen when I do the git pull (e.g. if I developed on a different machine).

Sometimes I start HABApp locally to test things. Then I create a rule in the local HABApp folder and edit just this rule in PyCharm. That way I only have the rule running locally that I am currently editing.