2016-07-21 9 views
0

Was ich tun möchte, ist einen Remote-Server einrichten, um Code mit Git zu pflegen. Ich möchte für jeden Zweig (einschließlich Master) einen anderen Arbeitsbereich erstellen, um die verschiedenen Versionen gleichzeitig zu bedienen. Warum? Ich konfiguriere den git-Server auf einem lokalen Webserver mit den Tests, bevor ich die Webseiten in Produktionsumgebungen hochlade, und wenn ein Entwickler den Code ändern muss, würde ich einen Zweig für diese Entwicklung mit seinem eigenen Arbeitsbereich erstellen. Auf diese Weise kann ich auf die stabile Version in jedem Computer des LAN und den kommenden Versionen der laufenden Entwickler zugreifen. Ist das mit Git möglich oder muss ich die Versions-Software ändern?Git mit einem Arbeitsbereich für jeden anderen Zweig

Antwort

1

Ich nehme an, Sie meinen, dass Sie ein Arbeitsverzeichnis (was Sie "Arbeitsbereich" nennen) von jedem aktuellen Zweig auf Ihrem Webserver auschecken, so können Menschen (Entwickler, Tester) einfach und schnell auf Ihre Anwendung zugreifen jeder Zweig.

Dies ist leicht möglich: git branch --no-merged master gibt Ihnen alle "offene" Zweige, d. H. Zweige, die nicht zurück in master zusammengeführt wurden. Sie können auch nach Filialnamen mit git branch --list --no-merged master FEATURE-* filtern, damit Sie alle nicht zusammengeschlossenen Zweige beginnend mit "FEATURE-" erhalten.

Von da an, wenn Sie auf Unix sind:

cd somecurrentworkingdirectory 
for branch in `git branch --no-merged master` ; do 
    echo Creating $branch 
    git clone git://source/repos/xyz /whereveryourwebserveris/branches/$branch -b $branch 
    ... do more stuff to get it working on your webserver ... 
done 

Oder ähnlich, wenn Sie auf Windows und einige andere Skriptsprache.

Auch dafür gibt es bereits Lösungen, zum Beispiel Jenkins ("Continuous Integration", "Continuous Deployment").

+0

Ich werde Jenkins überprüfen, vielleicht sind das die Lösungen, nach denen ich suche. Danke vielmals! +1 –

0

Ist es möglich, aber es ergibt keinen Sinn. Mit git, da Sie nicht push git, sind alle Änderungen auf Ihre lokalen Repositories beschränkt, d. H. Wenn Sie git commit durchführen, speichern Sie Änderungen lokal. Sie können also jeden Zweig ändern und dann Ihre Änderungen festschreiben, und wenn sie korrekt sind, können Sie auf den entfernten Server pushen, sonst könnten Sie die vorherigen Versionen der Datei wiederherstellen.

+0

Natürlich dachte ich an die Server-Konfiguration, nicht die lokale Git arbeiten. Wenn der Entwickler einen Git-Push zum richtigen Zweig macht, könnte ich über den Browser auf jeden Zweig und Master zugreifen. –

Verwandte Themen