Мы используем развертывание поддерева a lá this Gist для развертывания подкаталога нашего проекта Yeoman. В нашем случае филиал называется производство, а не gh-pages.Как заставить форматирование поддерева перезаписать удаленные изменения?
Это работало отлично до вчерашнего дня, когда сервер Git отверг команду git subtree push --prefix dist origin production
, говоря
! [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.
Если я включаю в отрасли производства на местном уровне (который является чистым), git pull
возвращается Your branch is up-to-date with 'origin/production'.
даже если я использую опцию --rebase
,
Я могу видеть содержимое производственной ветки на сервере через наш веб-интерфейс, и там ничего не должно быть, просто скомпилированный вывод нашего каталога dist
, как я ожидал.
С этой целью кажется, что я должен быть в состоянии принудительно перезаписать эти файлы, но как? git subtree push
не имеет опции --force
.
Команда 'git subtree split --prefix dist origin production' также не работает:' fatal: неоднозначный аргумент 'origin': неизвестная ревизия или путь не в рабочем дереве. – ele
Ну, теперь я действительно в тупике. Я запускал 'git subtree pull --prefix dist origin production', который оставил меня с конфликтом слияния, связанным с кодом, который я изменил, поэтому я исправил это и снова запускал' git subtree push -prefix dist origin production'. только с ошибкой с той же ошибкой снова. – ele