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
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").
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.
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. –
- 1. Git - Verschiedene Fernbedienung für jeden Zweig
- 2. Git - separate Ordner für jeden Zweig. Einrichten
- 3. Erstellen Git Zweig basierend auf einem anderen Zweig
- 4. Git Start Zweig von einem anderen Zweig ohne Tracking
- 5. Git: Ziehen von anderen Zweig
- 6. überschreiben alles in Master mit einem anderen Zweig in Git
- 7. Zweig in einem Zweig in Git erstellen
- 8. Zweig vom lokalen Arbeitsbereich
- 9. git verfolgen Zweig mit anderen Namen
- 10. Git: Code von einem Zweig zu einem anderen zu überschreiben
- 11. Git fusionieren ohne Commits von einem Zweig zum anderen
- 12. Wie definiere ich einen eindeutigen Arbeitsbereich für jeden Zweig in Multi Branch Build Jenkins
- 13. Git machen Remote-Master-Punkt zu einem anderen Zweig
- 14. Warum erstellt Gradle Dateien in einem anderen Git-Zweig?
- 15. git Änderungen von einem Commit auf einen anderen Zweig anwenden
- 16. Git Zweig (kein Zweig)
- 17. Git: Merge mehrere Commits von einem Zweig in einen anderen
- 18. git log den Unterschied zwischen 1 Zweig von einem anderen
- 19. Git-Master-Zweig in einem Repository und ein anderer Zweig in einem anderen privaten Repository
- 20. Git excludesfile für einen Zweig
- 21. git: Dateien aus einem anderen Zweig in den aktuellen Zweig auschecken (HEAD nicht zum anderen Zweig wechseln)
- 22. Von Master, Commit zu einem anderen Zweig
- 23. Zweig: für jeden Monat des Jahres
- 24. Wie kann ich einen lokalen Git-Zweig mit einem Remote-Git-Zweig mit diesem Setup vergleichen?
- 25. Wie kann ich eine bestimmte Datei von einem Zweig in einen anderen Zweig in Git
- 26. TFS: Überschreibe einen Zweig mit einem anderen
- 27. Git überschreiben Master mit Zweig
- 28. git-svn: Wie kopiert man Git-Commits von einem SVN-Zweig zum anderen?
- 29. „git push“ zu Gerrit mit einem Tracking-Zweig
- 30. ein Git Geschichte auf einem SVN-Zweig
Ich werde Jenkins überprüfen, vielleicht sind das die Lösungen, nach denen ich suche. Danke vielmals! +1 –