How can we use version control in a common work environment?

Currently, our team (website developers, one designer and one copywriter) work on separate workstations, but make our changes in the same development environment (we all mount the same shared drive), this is a marketing site, and not a web application, so we simply do not make any assemblies and deployments to a live site after they are completed, but I consider it important to preserve file versions, especially server code, even if it makes up only a small percentage of our content (mostly static pages) .

I would like to use version control for our working setup, but I'm not sure that SVN or GIT will play along with several people who check / remove dev from the same environment. I have experience with SVN, CVS, GIT, Perforce, and PVCS, but have always worked with separate development environments.

I need a solution that does not require us to run separate development environments, since we lack infrastructure.

+4
source share
8 answers

Most, if not all, version control implementations are intended to be used by more than one person. Both Subversion and GIT will be happy to do whatever you need, but you may find that Subversion is easier to get started and run quickly. If you intend to host it on a Windows environment, see VisualSvn Server .

The main difference between GIT and SVN is that GIT is a distributed system, while SVN relies on a central repository. There are good arguments in software development for using a distributed system, but the needs you describe will be easily served by a much simpler implementation of SVN (I think).

Another good reason to use SVN (for Windows) is that the TortoiseSvn client is one of the best user interface examples for any version control system. Itโ€™s easy to learn how to use and document well, and to support the OS community.

It may also be useful to research the various providers of hosted version control systems if you do not want the overhead of maintaining your own version control servers.

+5
source

You do not need a lot of server hardware. Why doesn't every developer / developer / etc start a site on their own computer? Do you have at least one computer? :)

GIT or SVN in this case is just a matter of taste.

+1
source

the way we did it at the old workplace was to give each user an account and give a โ€œprojectโ€ and an account. Each of them will check the local working copy. the project (in your case it will be the tools that people in your business use, I think) would also check the copy. As soon as the developers were happy with the specific assembly, we released an update of the working copy of the project.

In your setup, you say that you all have the same dev environment. Do you mean that you have your own computer on the network or are you using a PC? In any case, you should be able to have your own svn accounts and local working directives, so this will not be a problem.

+1
source

Depending on the amount of data you are talking about, the Dropbox option will be considered ("secure backup, synchronization, and file sharing made easy"). It supports version control and allows you to share folders.

It also has the advantage of providing remote backup and remote access to your data.

+1
source

Using svn, you can automatically send an update trigger for each site. Nevertheless, everyone working in the same directory is somewhat inconvenient (as it was all the time, at least ...), but old habits are falling, and believing that people insist on it, svn exports its repository via WebDAV, therefore It should be possible to mount this as a network file system on desktop computers.

+1
source
  • "At present, our team (website developers, one designer and one copywriter) work on separate workstations, but make our changes in the same development environment (we all mount the same shared drive)." Adding SVN will end the need for disk sharing. Each of them will work in a local directory that is installed in SVN. The turtle would be the perfect customer for you.

  • "This is a marketing site, not a web application, so we simply donโ€™t click on a live site after they are created." A simple batch job (ANT script or another) can be written and shared with each of you. Once the files are ready for deployment, just run the package and ask it to check the latest files from SVN and copy it to your web server.

+1
source

"does not require us to run separate development environments, since we lack infrastructure"

Doesn't make much sense.

Presumably, each of you has a separate workstation. And your workstations are separate from your web server. Just guessing, but that's typical.

You can - trivially - each of them has a private copy of the development on your workstations. You can then use SVN to synchronize various changes.

You can mark the version as good to go.

Someone might - when everything looks right for you - do an update on the web server to get the official version in production.

It does not require more infrastructure than you already have.

0
source

With SVN, you can have developers going to the server and have one special user on the server checking the latest version. Thus, your work is related to performing SVN, and then logging on to the server and checking the last trunk.

You can use the same template with git and other decentralized version control systems. The advantage of these systems is that they do not use the central server template. Dev a can, for example, click on b, which then pushes it to the server.

0
source

All Articles