How to Improve a Small Company's Workflow [closed]

We are a small company and currently use two servers [dev-server] and [prod-server].
Most of our dev websites are accesible via {project_name}.{our_domain}.com, which are protected with a password from the outside world.

[dev-server]

  • Windows 7
  • Apache 2.4
  • PHP 5.3 & 7.0
  • Contains approximately 90 different websites

[prod-server]

  • Windows Server powered by IIS
  • Apache 2.4
  • PHP 5.3 & 7.0
  • Contains approximately 90 different websites

When working in the office, all our computers are connected to the same (LAN) network. The most convenient yet dirty way to get things done was to create a shared disk and have all the computers connected to it via SMB.

Our file structure is very similar to this one:

Data(D:)
 /Webs
   /Web1(PHP 5.3)
   /Web2(PHP 7.0)
   /Web3(PHP 7.0)
   /Web4(PHP 7.0)

When I want to make any changes to Web1, I simply open up the mounted folder in my IDE and make the changes in there. I can also see what I’m doing via Web1.{our_domain}.com

We have no VCS, and it’s very difficult for us to deal with situations when someone of us decides to work remotely. As it’s almost impossible to work over SMB from outside LAN, we need to keep downloading and uploading stuff to the "central i.e. [dev-server]/[prod-server]"

What we want to achieve?

  • we want to keep track of what someone else’s did i.e. imnplementing VCS (e.g. GIT)
  • it should be easy for anyone to work remotely
  • it should be fairly easy for anyone to update one of our websites from LAN directly

What I’ve come up with
I’ve set up SSH and Gogs(self-hosted GIT service) where I created a folder gogs-repos

Data(D:)
 /gogs-repos
 /Webs
   /Web1(PHP 5.3)
   /Web2(PHP 7.0)
   /Web3(PHP 7.0)
   /Web4(PHP 7.0)

Anytime someone wants to work on a project, they need to git clone one of the repos onto their local machine and when they are done, they have to push their changes to the repo, when the push is done, files are automatically updated in Webs/{project_name}. The issue is what to do if someone wants to work on a project on LAN whilst someone is working on it locally(from home) and decides to push their changes?