5

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

git subtree push --prefix dist origin gh-pages

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

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

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

4

1 回答 1

0

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

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

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

于 2013-11-04T04:59:54.617 回答