我使用Yeoman部署我的网络应用程序。根据{{3}}的建议,我使用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
分支之外并删除部署提交消息?
答案 0 :(得分:1)
拉动是否需要进行内容合并,或者完成替换是否足够?
完全替换是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附加到标签,并且此标签是无历史记录提交,因此没有什么可以不同步,这是一个带有一次性标记名称的原始内容推送。