我使用约曼部署我的web应用程序。根据约曼文档的建议,我使用git subtree
部署我的网站,做这样的事情:
-
grunt build
-
git add -A dist
-
git commit -m "New release"
-
git subtree push --prefix dist origin deploy
然后,在登台服务器上,我第一次这样做:
-
git init
-
git remote add -t deploy -f origin git@github.com:cdmckay/example.git
-
git checkout deploy
之后,每次我都这样做:
git pull
然而,这会导致一些我不喜欢的事情。
首先,我的master
分支现在有dist
文件夹,我认为这是丑陋的。
其次,我的git历史记录充满了New release
消息,因为每次我想将Yeoman应用程序推送到我的暂存服务器时,我都必须再做一次提交。
是否有更好的方法来设置我的部署,这样我就可以保持dist
文件夹的master
分支和摆脱部署提交消息?
是否需要进行内容合并,或者完全替换就足够了?
完全替换是,在build
上,
git tag -f dist `git commit-tree -m - master:dist`
git push -f origin dist
和在登台服务器上:
git checkout -f dist # possibly with `-f`
git没有将HEAD附加到标签上,并且这个标签是无历史提交的,所以没有什么不同步的,它是一个带有一次性标签名称的原始内容推送。