Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git production/staging server workflow

Currently my website (production server) already have a lot of code in it. And now I want to start using Git for my projects and setup a staging server for my team. Can anybody give me any advise?

Here is the picture in my mind:

        Production        - Production server which already have codes             ↑                       Staging          - New staging server, will install Trac too          ↗↙ ↖↘             Developer1  Developer2  - Local development  

My question is, how should I start?

Here are some steps in my mind:

  1. do a git init in production server (is this safe?)
  2. clone the repo from production to staging server
  3. developers clone the repo from the staging to their local machine
  4. push files to the staging server after finish changing
  5. when staging is ready, push everything to the production

Does this work flow makes sense, or there are some better way to do it?

What if I only want to change one file?

Does origin/master has anything to do with it in this process?? Who is the origin? am I going to end up having multiple origins??

Also, when should a developer use branch in this case?

like image 903
kayue Avatar asked Oct 02 '10 04:10

kayue


People also ask

What is a typical Git workflow?

Typical Workflow are as followsGet local copy of code. Create a branch. Edit files. Add and commit changes to local machine. Get back in sync with changes commited by others.


1 Answers

It's better to use master branch only for Production and development branch for Staging. Each developer should create local branch to add new features and then merge with development branch. If you're new to a git, try to use - http://github.com/nvie/gitflow There is also good picture describing git branching model - http://nvie.com/posts/a-successful-git-branching-model/

like image 197
bUg. Avatar answered Sep 28 '22 03:09

bUg.