I am very new to version control and I would like some help if possible.
I was wondering, which is the best way of controlling 3 development environments: Development > Testing > Production
testing
using ftp, or whatever protocol.How about conflict problems when a user pushes a file/s different from what other user pushed 1 minute ago? Of course there can be the task separation and each to do certain things but what if not, what if X commits submit.php and Y also commits submit.php 1 minute before?
What version control software will be most suited?
If you translate that in term of a DVCS (Distributed Version Control System), like Git, each of your "folders" can be an actual clone of your code repository.
That means that you:
development
' repodevelopment
' to 'testing
' (or better yet, have a task on 'testing' in charge of pulling 'development
' and trigger some tests if any new commit is detectedtesting
' (if tests are ok) to productionPlus you wouldn't accept non fast-forward update to remote repo, which means any conflict would be first solved locally, before being pushed.