A key piece to web developer modernization is a scheme called GIT which allows synchronization of files and versioning control. Further, one can easily invite collaborators to join in on a project or fork to their own. FTP gone social.
There is a learning curve. There isn’t a user friendly face on GIT. All interaction is via the command line. A new language with artful terms such as Branch, Merge, Add, Commit, Push, and Pull to understand along with esoteric switch options: e.g. -a -u -m
It can be simple or complex. Unfortunately I blundered into the latter by creating several local repositories. One of which was innocently placed downstream of a root repository thereby creating a submodule. I had no idea what I had done apart from the realization that I was no longer able to modify the contents of this submodule from within the main project. In laymans terms; it was screwed up. Simple to implement but so difficult to undo.
A search result offered instructions to eliminate a submodule reference with all sorts of caveats and cautions.
I eventually made a draconian choice and abandoned my local directory tree structure by emptying the files. The submodule became its own repository after I split it off from the root but kept the original files. Its git tracking was undisturbed. In the root repository it was hoped that a simple Clone from the remote would restore all but this didn’t pan out. The remote was linked to deleted files in the old structure and *new* copied files refused to be tracked. A fresh local directory with a new name was established in order to begin again.
While learning the complexities (the hard way), I plan to “keep it simple” going forward.