我正在使用新发布的Dropbox webhooks设置我的Pelican博客的自动部署。每次我在Dropbox中更改文件时,它POST
到我的Heroku应用程序,它执行以下操作:
pelican
以重现博客。输出是我的Github Pages repo的本地克隆
.git/
,因此我运行了git init
并读取了遥控器。git pull origin master
来同步它们。git add -A .
跟踪所有更改,新文件和删除。问题出在第4步,当我运行git pull
时,它会从回购中提取所有原始信息 - 包括我要删除的文件。例如,如果我删除了一个帖子,那么当我运行pelican
时它会从repo中正确删除它并删除whoel文件夹并重新生成没有该文件的博客 - 但是当我运行时,该文件会重新出现{ {1}}。我无法跟踪哪些文件被删除,因为我在运行git pull
时删除了.git/
时丢失了我的git历史记录。
在一天结束时,我想要做的就是运行pelican
,替换repo的全部内容,然后添加所有更改/删除/添加,然后将repo推送到Github 。我永远不会需要有关目前在回购中的内容的信息,因此如果有帮助,运行pelican
对我来说不会成为问题。我怎么能这样做?
答案 0 :(得分:0)
由于似乎没有办法做我在git中尝试做的事情,我最终做的是将pelican的DELETE_OUTPUT_DIRECTORY
设置为False
然后作为我的Fabric脚本运行的一部分
rm -rf *
相反,我自己忽略了点前缀文件和目录,因此只留下.git/
。然后我可以重新生成并将新内容添加到存储库,提交和推送而不会出现问题。