我可以忽略master分支中的build文件夹吗? - 使用Git子树的Yeoman部署

Jar*_*rod 5 git deployment version-control yeoman

Yeoman的部署页面描述了将构建文件夹(也称为"dist")提交到repo的过程,然后使用以下命令将该文件夹作为git子树推送.

git subtree push --prefix dist origin gh-pages

我的工作正常,并且我只能从我的构建子树分支中的dist文件夹部署构建代码(上例中的gh-pages).

我现在可以.gitignore这个dist文件夹从主人?如果是这样,会git subtree push --prefix dist origin gh-pages继续工作吗?

如果没有,我如何避免将构建的源提交到master分支,同时将其保存在Git子树中进行部署?(需要将它保留在分支中,因为我使用Capistrano进行部署,而这种部署依赖于将整个分支部署到服务器.)

Nic*_*rdy 0

.gitignore文件不会从存储库中删除现有文件,也不会阻止您提交被忽略的文件。如果您在提交文件后忽略文件,它们将原封不动地保留在您的存储库中,但对它们的更改将被忽略。如果要将更改提交到被忽略的文件(或已提交然后被忽略的文件),可以使用git add -f强制添加被忽略的更改。

为了更直接地回答你的问题,我有一种感觉,git subtree在推送子树后删除文件是可以的。此外,您应该能够运行git checkout gh-pages以获取gh-pages分支来更新您的部署。

替代方法:您链接到的页面有一个指向git 目录部署脚本的链接,您可能会发现它很有用。