Hello experienced programmers, I ask for advice regarding my workflow.
I'm writing a lot of small programs to use on a server in order to execute several operations and calculations.
My workflow is to simply open the server, open vim and write the code; then store it directly in a stow directory if it's python or its compiled binary if it's something else.
The more I do this the more I realize this is unsustainable:
- I'm not using git, which is problematic as I often have to come back and make some adjustments.
- I cannot use a different IDE, which I would prefer.
- I don't really have proper personal backups.
The advantage of this, is that I just have to write the code and I can immediately use it.
What I would like is: write the code on my personal computer and seamlessly have the software available in my server ~/.local/bin to be run.
I do not want to have to run rsync 20 times in order to do this.
Do you know how I could set up my system in order to achieve this?
Thank you.
@rastinza I do some work like you describe, and I don't know how I'd live without **git**. the version control is one thing, but to address your issue, it's extremely easy to synchronize between different copies of local repositories once your git repo is hosted somewhere
the general workflow is as follows...
* **write** code on your local system (e.g. laptop), using whatever tools you desire
* **commit** your code to your local repo for version control
* **push** those commits to a remote host (many are available, my workplace uses gitlab and I've not had a problem with that)
* `ssh` to your compute server or similar
* **pull** your commits from the remote host to the server
this works very easily for a single developer, but also scales to more complex cases where multiple folks are contributing to the code
you also get all the version control benefits of being able to see when exactly which changes were made and revert things if need be. commit messages are also great to leave your future self a comment as to why you made a certain change
there's a learning curve with git, but only minimal knowledge is needed to get started and see the benefit, so I can definitely recommend getting familiar with git!