Wir sind kürzlich von SVN zu Git gewechselt und haben gleichzeitig unsere Live-Systeme in die Versionskontrolle versetzt (anstelle von lokalem Checkout und Dateikopie zu leben).
Bei dem Projekt, dem ich zugewiesen bin, greifen wir alle auf dasselbe Repository zu und um Änderungen ins Leben zu rufen, sind wir einfach git pull
da. Dies verursacht Probleme, da unsere Webdesigner Änderungen in das VCS übertragen, die noch nicht live sein sollten, sich jedoch in der Webtestumgebung befinden sollten.
Wenn einer der Entwickler nun ins Leben gerufen wird, erhält er alle (möglicherweise unvollendeten) Änderungen.
Ich dachte daran, live in eine zusätzliche Filiale zu wechseln und einfach zu verschmelzen, was sich geändert hat, aber aufgrund meines Mangels an Git-Kenntnissen habe ich keine Ahnung, wie.
Meine Idee ist:
- Erstelle einen neuen Branch in live (
git branch live
). - Jedes Mal muss etwas live gehen
- Pull Änderungen im Master (wie:
git checkout master; git pull; git checkout live
) git merge master
- Pull Änderungen im Master (wie:
Das Problem ist, dass ein Wechsel zum Master oder ein direktes Einspielen in das Live-System zu Problemen führen würde. Daher würde ich dies lieber vermeiden.
Gibt es eine Möglichkeit, dies zu tun oder gibt es eine bessere Möglichkeit, das Live-System zu verwalten?
git checkout -f
um das Problem zu ignorieren - aber ein Backup machen!
git pull --all
Wird Master standardmäßig nicht in Live gezogen, wird Master gezogen und mit Master zusammengeführt, und (falls auf dem Server vorhanden) wird Live gezogen, um in Live zusammengeführt zu werden. Hast Du es versucht?