Ich möchte eine Antwort versuchen, die Git-Flow und drei "Punkte" oder Anwendungsfälle, das zentrale Git-Repository, die lokale Entwicklung und die Produktionsmaschine enthält. Dies ist nicht gut getestet .
Ich gebe unglaublich spezifische Befehle. Anstatt zu sagen <your folder>
, werde ich sagen /root/git
. Der einzige Ort, an dem ich den ursprünglichen Befehl ändere, ist das Ersetzen meines spezifischen Servernamens durch example.com
. Ich werde den Zweck des Ordners erläutern, damit Sie ihn entsprechend anpassen können. Bitte lassen Sie mich über Verwirrung wissen und ich werde die Antwort aktualisieren.
Die Git-Version auf dem Server ist 1.7.1. Der Server ist CentOS 6.3 (Final).
Die Git-Version auf dem Entwicklungscomputer ist 1.8.1.1. Dies ist Mac OS X 10.8.4.
Das zentrale Repository und die Produktionsmaschine befinden sich auf derselben Maschine.
Das zentrale Repository, auf das SVN-Benutzer als "Server" verweisen können, ist wie folgt konfiguriert. Ich habe einen Ordner, /root/git
in dem ich alle meine Git-Repositorys aufbewahre. Ich möchte ein Git-Repository für ein Projekt erstellen, das ich "Blumen" nenne.
cd /root/git
git clone --bare flowers flowers.git
Der Befehl git gab zwei Meldungen aus:
Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.
Nichts, über das man sich sorgen sollte.
Auf dem Entwicklungscomputer ist wie folgt konfiguriert. Ich habe einen Ordner, /home/kinjal/Sites
in dem ich alle meine Projekte ablege. Ich möchte jetzt das zentrale Git-Repository erhalten.
cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git
Dies bringt mich zu einem Punkt, an dem ich anfangen kann, Dinge hinzuzufügen. Ich habe zuerst den Git Flow eingerichtet
git flow init -d
Standardmäßig ist dies ein Zweig develop
. Ich füge jetzt hier meinen Code hinzu. Dann muss ich mich auf das zentrale Git-Repository festlegen.
git add .
git commit -am 'initial'
git push
Zu diesem Zeitpunkt drängte es auf den Entwicklungszweig. Ich möchte dies auch zum Hauptzweig hinzufügen.
git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push
Beachten Sie, dass ich zwischen dem Start und dem Ende der Veröffentlichung nichts getan habe. Und als ich die Veröffentlichung beendet hatte, wurde ich aufgefordert, zwei Dateien zu bearbeiten. Dies brachte den Entwicklungszweig zum Master.
Auf der Produktionsstätte, die sich auf demselben Computer wie mein zentrales Git-Repository befindet, möchte ich das Repository ablegen /var/www/vhosts/example.net
. Ich habe bereits /var/www/vhosts
.
cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net
Wenn sich die Produktionsmaschine auch auf einer anderen Maschine befinden würde, würde der git clone
Befehl wie der auf der Entwicklungsmaschine verwendete aussehen.
git clone --bare
das tun wird, was du denkst.