[git-users] Optimal Git setup for multiple websites

2011-04-20 Thread Carey
Hi,

I'm new to Git, and I would greatly appreciate some guidance on the
best practices for setting it up to help manage the various websites I
help develop.

To give some background, the company I work for currently has an US
eCommerce and an UK eCommerce website, hosted on two different
servers.  We now have a small group (2-3) of remote developers that
would need to make changes to the webhost files, as opposed to just
me, so it's needed that I have some version control.  For the US site,
we have a separate server for the staging site, but for the UK site,
the staging site is located on live server.  In my ideal world, I
would make code changes on my local computer, push to stage, test on
the stage website, once that looks good, then push to live.

My first question is, where do I create the bare Git repository? Do I
put each on a third remote server, or do I create a respective
repository on each webserver?  I've heard pros and cons either way,
but I would like to hear more thoughts on the matter.  I think instead
of me asking more questions I might not know how to ask properly, it
might be better if I just asked, given the above setup, what is the
best way to setup this git installation?  Based on the answers I'm
sure I'll have further questions.

I hope that makes sense, and thanks in advance!

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



[git-users] Re: Optimal Git setup for multiple websites

2011-04-21 Thread Carey
Thanks for the help Thomas! I can't wait to become a full-fledged Git
user.  Unfortunately, I seem to have left out some finer details,
which I need further guidance on.

First off, the UK website is not the same as the US website, it's two
different code bases, but I suppose I can just replicate what I do for
one, and do the same for the other.

Secondly, you say I have 3 server machines, UK, US, and
local...however I was asking if I need a 4th, or if that's extraneous?

Model 1:   remote developer1 (his/her local machine in California) -
remote server (ie. github/gitfarm) - US webserver
   remote developer2 (his/her local machine in Hawaii) -
remote server (same as above) - US webserver

OR

Model 2:   remote developer1 (his/her local machine in California) -
US webserver
   remote developer2 (his/her local machine in Hawaii) - US
webserver

   remote developer1 (his/her local machine in California) -
UK webserver
   remote developer2 (his/her local machine in Hawaii) - UK
webserver


Lastly, is there a way to set up some kind of hook on the webserver in
your example that does the deploy-website for me when I do the push
from my local machine? It would save the trouble of having to ssh into
the webserver to deploy.  Or is that a bad practice?  Also your link
on how to copy out the contents doesn't work for me.

Thanks again for all the help. Looking forward to more direction, and
please, anyone may chime in!

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



[git-users] Re: Optimal Git setup for multiple websites

2011-04-21 Thread Carey
Thanks again, Thomas.  Would you suggest having the intermediate
server (Model 1), as opposed to just using the webserver (Model 2), or
vice-versa?

If you do suggest having the intermediate server, can you explain more
about cloning around the repository?  Also, in that case, would I
push from my local machine to the intermediate server, which then
automates a push to the webserver, which in-turn has a hook to
deploy?  Or do I push to both, where the intermediate server is more
like a copy of the webserver.  I'm just getting confused about if I do
need/have that intermediate remote server, and how can I use it
correctly.

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



[git-users] Re: Optimal Git setup for multiple websites

2011-04-21 Thread Carey
Almost getting there!  Couple more questions for clarification:

Why is it more secure to force all changes through an intermediate
repository? Or maybe I'm confused on how to force all changes through
an intermediate repositoryHere's the 3 scenarios I'm imagining,
please correct me where I'm wrong.

If I am working on my local machine and do...

0) git checkout stage, make some changes
1) git commit -am Some changes
2) git push uk intermediate_uk (where uk is a remote with the name
uk)
3) git push uk stage (do the same push for the stage webserver)

...isn't that the same amount of security?

Or were you talking about a case where I...


0) git checkout stage, make some changes
1) git commit -am Some changes
2) git push uk intermediate_uk  (and then somehow using a hook, I
don't know how this part works, this then automatically pushes to the
UK webserver/stage)

How is either of those, using the intermediate repo, more secure than
just your initial suggestion of:

0) git checkout stage, make some changes
1) git commit -am Some changes
2) git push uk stage (where uk is a remote with the name uk)


Thanks again!

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.