2012-10-30 8 views
16

Ich bin ziemlich neu zu Git, und habe das Pro Git Buch @http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging gelesen. Meine Frage ist, ob das, was ich heute mache, der bevorzugte Weg ist, mit dem Produktionsserver und einem Remote-Git-Repo zu arbeiten."Proper" Weise, git "Produktionszweig" zum Produktionsserver zu ziehen

Ich habe meine Repo gehostet auf GitHub, mit drei Remote-Niederlassungen: Entwicklung -> Testing -> Master.

Wenn der Zweig "Test" verifiziert wurde, funktioniert er, git merge "Master" mit "Test" (Schnellvorlauf?) Lokal, und git push "Master" zu GitHub.

auf dem Produktionsserver (/opt/www/url.com/) Ich habe getan:

git init 
git remote add origin https://github.com/..... 
git pull origin master 

Jetzt jedes Mal möchte ich den Master aktualisieren Ausgabe ich einen git pull

git pull origin master 

Produktion wird niemals Änderungen an Remote übertragen. Und lokale Änderungen werden nicht passieren. Mache ich es richtig? Wenn nicht, was ist der bevorzugte Weg, Updates in die Produktion zu ziehen?

Edit # 1: Ich möchte keine Konflikte auf dem Produktionsserver verwalten, denen ich jetzt gegenüber stehe (irgendwie habe ich etwas falsch gemacht). Ich möchte einfach den letzten aktualisierten Masterzweig herunterziehen und zu ihm wechseln.

Antwort

12

sollten Sie verwenden:

git init --bare 

einen Repo zu initialisieren, die einen Arbeits Baum nicht haben werden, was bedeutet, dass es keine Konflikte sein.

+3

warum wird es abgelehnt? –

+0

Das ist eine gute Frage @AlainANDRE –

+0

Wie würde ein Produktionsserver funktionieren, wenn er keine Arbeitskopie des Repositorys hat? – starbeamrainbowlabs