Mac source control option with both working and live repositories being remote?
I've been doing LAMP development for roughly ten years now. I've occasionally used CVS and SVN. I code mostly with BBEdit.
I am trying to setup some sort of source control to manage LAMP web apps. I prefer not to have a local repository. I usually have a dev server and a live server. I am looking for a source control option that will work with that. This is largely because I work on multiple machines and don't want to configure PHP, MySQL... on each of them for testing the working copy. Plus I can't test it on other machines if the working copy is on a local machine (without additional legwork.)
What options are out there for this? For SVN, so far I've only been able to figure out how to do a remote repos开发者_开发百科itory with a local copy.
Additionally, these are rarely on the same servers with the same users. I've got a half dozen live sites on a half dozen different hosts. Then I have the dev sites on my own server.
Thanks.
Git works well on OSX. Due to its nature, you will also have a local repository, but this should allow you to manage what you want (local, production and dev repositories). There is indeed a learning curve, but it was worth it, for me.
It depends on the tools you're happy to use and your general work habits, but I don't mind using git
from the Terminal and gitk
as a tool to visualize the commits in X11. This way, gitk is not fully integrated with the Mac, but it's OK (if you want to, I think there is a flag for the Tcl/Tk compilation to use the native interface rather than X11, but I think there was a bug whereby you couldn't select and copy quickly from the diff window, if that's useful). You can install Git via MacPorts or directly from the source.
Just because you have a local repo with your working copy does not mean you have to deploy from the local system.
When changes are complete and checked in locally then push your changes to which ever remote repos you want (including a remote dev repo)and then deploy from there.
Does that work for you?
Developing on a remote server is not something I do. I much prefer to develop locally on a clone of the repo (git/hg) or working copy (svn). Setting up a Virtual Machine with Vagrant is simple and there are many prerolled boxes or you can configure one yourself easily.
That said, you can use Transmit (there are other options) to mount a remote volume over SSH. The volume then works like any other volume and you can edit files in your favorite editor and interact with a version control system on via a terminal.
精彩评论