Wir verwenden eine Teilbaumbereitstellung a lá this Gist, um ein Unterverzeichnis unseres Yeoman-Projekts bereitzustellen. In unserem Fall heißt die Verzweigung Produktion, nicht gh-Seiten. DieseWie erzwinge ich einen Unterbaum Push, um entfernte Änderungen zu überschreiben?
funktionierte perfekt, bis gestern, als die Git-Server den Befehl git subtree push --prefix dist origin production
abgelehnt, sagen
! [rejected] 9fe1683aa574eae33ee6754aad702488e0bd37df -> production (non-fast-forward)
error: failed to push some refs to '[email protected]:web-and-new-media/graduation2015.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart.
Wenn ich an die Produktionszweig wechseln lokal (was sauber ist), git pull
kehrt Your branch is up-to-date with 'origin/production'.
auch wenn ich die --rebase
Option .
Ich kann den Inhalt der Produktionszweig auf dem Server über unsere Web-UI sehen und es gibt nichts, was nicht sein sollte, nur die kompilierte Ausgabe unserer dist
Verzeichnis wie ich es erwarten würde.
Zu diesem Zweck scheint es, als ob ich sicher ein Überschreiben dieser Dateien erzwingen könnte, aber wie? git subtree push
hat keine --force
Option.
Der Befehl 'git subtree split --prefix dist herstellung 'scheitert auch:' fatal: mehrdeutiges Argument' Herkunft ': unbekannte Revision oder Pfad nicht im Arbeitsbaum.' – ele
Nun, jetzt bin ich wirklich ratlos. Ich habe 'git subtree pull --prefix distursprüngliche Produktion' ausgeführt, was mich mit einem Zusammenführungskonflikt in Bezug auf den Code, den ich geändert habe, verlassen hat, also habe ich das behoben und' git subtree push --prefix dist herkunftsproduktion' wieder ausgeführt. Nur mit dem gleichen Fehler erneut zu scheitern. – ele