How to manage my project? (Souce code control, production server/developing sever) [closed]
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this questioni'm in a small team right now. We have two developers. We are developing PHP web applications. Now we have two servers. One is production server, the other is developing server. Usually my work-mate and I worked for different part of the project, but sometimes, we changed the same file. There was a source code version problem. As we are very small team, is there any light-weight version control strate开发者_高级运维gy for us? We use different developing tools. I use VIM and my work-mate use Dreamweaver. Is there any source code control system support those editors?
Another question is how to control the synchronization between develop server and production server? Now what we do is just use ftp upload the files that we just tested on the
you have github(maybe by private account, because github is just amazing!) in your tag so I should suggest to just learn git(Command-line). It is the best in my opinion. One of the nice features of git is that it is distributed. I also bet if you search hard you could find plugins for both editors(like I did quickly):
- git for vim.
- git for dreamweaver.
But I would just use cli instead because it's power is just amazing.
As far as version control goes, Subversion is a popular choice, and easy to set up in my opinion. Looks like it can be integrated with Dreamweaver beginning with CS4, as well as VIM (although I don't have any direct experience with either of those plugins). Even without direct integration it's easy to use from the command line. I'm a big fan of RTFMing before digging into anything new, so the fact that the O'Reilly Subversion book is available as a free PDF on their website was a big plus for me.
For coordinating the move from development to production, my personal advice would be to automate as much as you possibly can - I've seen cases in which the migration is handled by a human with a checklist, and human error always seems to creep in eventually. If you're most comfortable with PHP, and you primarily access your servers via FTP, you could use PHP's FTP functions to automate moving the tested code from the development server to production.
Scenario : you can install subversion on production and developer server
- Use svn and i suggest you add messages like +) for added stuff, -) for removed if that happen, o) for fixed bugs. This will help you latter.
- Do commits as offen as you can
- If you are not familiar with Tags and branches in SVN, just do the list of files that you are going to update on live server.
- go to Live update.
Scenaria : you can't install subversion on production server
- create a separate "live enviroment" on developer server
- update it, when you see all works use any kind of FTP, SFTP to copy it to live server
Good luck
For version control almost any modern open source version control software will do, For starters there is Subversion, mercurial, bazar, git. If you've never used one before I would recommend giving them all at least a quick look over to see what you like. My preference is git but the rest are all easy to use (ish). Most have companies that provide version control as a service (so you don't have to gaff with managing software yourself)such as github, launchpad, etc.
All have their benefits and downsides depending on your working style and project.
精彩评论