我們使用子樹部署來部署Yeoman項目的子目錄。在我們的案例中,該分公司被稱爲生產,而不是gh-頁。如何強制子樹推覆蓋遠程更改?
這完美地工作,直到昨天,當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
選項。
我可以通過我們的Web UI在服務器上看到生產分支的內容,沒有什麼不應該出現,就像我期望的dist
目錄的編譯輸出一樣。
爲此,我似乎應該安全地強制覆蓋這些文件,但是如何? git subtree push
沒有--force
選項。
'git subtree split --prefix dist origin origin'命令也失敗:'致命的:模糊的參數'origin':未知的版本或路徑不在工作樹中。' – ele
好吧,現在我真的難住了。我運行了'git subtree pull --prefix dist origin production',這確實給我留下了一個與我改變的代碼有關的合併衝突,所以我解決了這個問題並且再次運行'git subtree push --prefix dist origin origin production'。只能再次失敗,並再次出現相同的錯誤。 – ele