我使用最新發布的Dropbox webhooks設置了我的Pelican博客的自動部署。我每次更改文件中的Dropbox,它POST
s到我的Heroku應用程序,它具有以下功能:用本地版本丟失的替換遠程git回購.git
- 下載內容從Dropbox的
- 奔跑
pelican
了新的內容重現博客。輸出到我的Github Pages回購的本地克隆。
- 這會刪除當前存在於回購站中的所有內容,並將其替換爲新生成的博客。 不幸的是,這也會刪除.git目錄。
- 我失去了我
.git/
,所以我跑git init
並重新進行添加遙控器。 - 我運行
git pull origin master
來同步它們。 - 使用
git add -A .
跟蹤所有更改,新文件和刪除。 - 提交,推送到Github。
問題是在步驟4中,當我運行git pull
時,它從回購中提取所有原始信息 - 包括我想要刪除的文件。例如,如果我刪除帖子,當我運行pelican
時它會從回購庫中正確刪除,並且會刪除whoel文件夾並在沒有文件的情況下重新生成博客 - 但是當我運行git pull
時,該文件會再次出現。我無法跟蹤哪些文件被刪除,因爲我在運行pelican
時刪除了.git/
,所以我失去了我的git歷史記錄。
在一天結束時,我想要做的就是運行pelican
,替換回購的全部內容,然後添加所有更改/刪除/添加,然後將回購推送到Github。我永遠不需要有關回購中目前的信息,因此運行git reset
對我來說不會有問題,如果有幫助的話。我怎樣才能做到這一點?
爲了改善損害,請嘗試重新定位.git:'mv .git ../somewhere/outside; echo git:../somewhere/outside> .git'。這樣,當「鵜鶘」開始變得粗心時,只需重做回聲就可以修復它。聽起來像真正的解決辦法是讓「鵜鶘」停止刪除你不想刪除的東西,儘管如此。 – jthill
同意,但我希望學習一個git的方式來做到這一點。 – jdotjdot
目標是創建文章帖子的易用性,因此我希望能夠簡單地將新的Markdown文件放入我的Dropbox中,如Scriptogr.am。 git的原因很簡單,就是該博客託管在GitHub頁面上,這需要我使用git來推送最終的靜態網站輸出。我不認爲在這種情況下使用dropbox + git會有問題,並且上面的問題確實與dropbox完全無關。 – jdotjdot