我如何 git 提取忽略的文件?
How can I git pull ignored files?
对于我的 Drupal 8 安装,我想使用以下工作流程:
1) 在本地计算机上安装和更新是使用 Composer 完成的。然后将 Composer 文件推送到 Bitbucket。
2) 在远程服务器上,我有一个暂存文件夹,我在其中提取作曲家文件并进行作曲家安装。
3) 在同一台服务器上,我想为生产站点创建另一个文件夹。我在这里克隆暂存文件夹,然后拉取所有更改。
现在的问题是,Drupal 核心和模块文件夹(由 Composer 安装的文件夹)在 gitignore 中。因此,它们不会从暂存阶段拉到生产阶段。我如何 track/version 控制整个暂存文件夹并将更改拉到生产环境中?如果我删除 gitignore 文件,我想下次它们会再次从 Bitbucket 中提取。
编辑:这篇文章描述了一个解决方案,但我不太明白它是如何与这个 CI 服务器一起工作的:http://nuvole.org/blog/2016/aug/19/optimal-deployment-workflow-composer-based-drupal-8-projects
提交文件并推送到用于生产的不同存储库,或者 branch/tag 远离您的主要开发分支(后一种方法的缺点是您的存储库会很快变大)。您也可以选择在暂存时覆盖 gitignore 配置,例如:
git add -f .
或者,考虑 运行 在生产环境中安装 composer 作为部署过程的一部分,或者构建一个可以推送的容器镜像(例如 docker)和 运行 以提供帮助在开发和生产中尽可能保持相似。
您应该修改 .gitignore
并在您的步骤中再次推拉:
- 在本地计算机上,删除
.gitignore
中的 Drupal 核心和模块文件夹,然后再次添加并提交并推送。
- 在暂存文件夹的远程服务器上,提取更改。
- 在生产站点的远程服务器上,从暂存文件夹中提取更改。
选项2:
保护暂存文件夹中的 .gitignore
文件,即使从 bitbucket 中提取 .gitignore 也不会被覆盖,如下所示:
git update-index --skip-worktree .gitignore
修改 .gitignore
文件并在暂存文件夹中添加一些有用的文件。
对于我的 Drupal 8 安装,我想使用以下工作流程:
1) 在本地计算机上安装和更新是使用 Composer 完成的。然后将 Composer 文件推送到 Bitbucket。
2) 在远程服务器上,我有一个暂存文件夹,我在其中提取作曲家文件并进行作曲家安装。
3) 在同一台服务器上,我想为生产站点创建另一个文件夹。我在这里克隆暂存文件夹,然后拉取所有更改。
现在的问题是,Drupal 核心和模块文件夹(由 Composer 安装的文件夹)在 gitignore 中。因此,它们不会从暂存阶段拉到生产阶段。我如何 track/version 控制整个暂存文件夹并将更改拉到生产环境中?如果我删除 gitignore 文件,我想下次它们会再次从 Bitbucket 中提取。
编辑:这篇文章描述了一个解决方案,但我不太明白它是如何与这个 CI 服务器一起工作的:http://nuvole.org/blog/2016/aug/19/optimal-deployment-workflow-composer-based-drupal-8-projects
提交文件并推送到用于生产的不同存储库,或者 branch/tag 远离您的主要开发分支(后一种方法的缺点是您的存储库会很快变大)。您也可以选择在暂存时覆盖 gitignore 配置,例如:
git add -f .
或者,考虑 运行 在生产环境中安装 composer 作为部署过程的一部分,或者构建一个可以推送的容器镜像(例如 docker)和 运行 以提供帮助在开发和生产中尽可能保持相似。
您应该修改 .gitignore
并在您的步骤中再次推拉:
- 在本地计算机上,删除
.gitignore
中的 Drupal 核心和模块文件夹,然后再次添加并提交并推送。 - 在暂存文件夹的远程服务器上,提取更改。
- 在生产站点的远程服务器上,从暂存文件夹中提取更改。
选项2:
保护暂存文件夹中的
.gitignore
文件,即使从 bitbucket 中提取 .gitignore 也不会被覆盖,如下所示:git update-index --skip-worktree .gitignore
修改
.gitignore
文件并在暂存文件夹中添加一些有用的文件。