php – Capistrano上传.git目录

前端之家收集整理的这篇文章主要介绍了php – Capistrano上传.git目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用带有capistrano的git.

我在我的本地计算机上的文件夹中初始化了我的项目:

git init

然后我将项目推送到服务器目录
然后我调用了cap deploy
部署工作,除了它将本地.git文件夹结构,以及我的.gitignore和Capfile上传到可公开访问的文件夹.

这是我的gitignore文件

.DS_Store
uploads/**/*
Capfile
.gitignore
.git/**/*

这似乎没有办法.有帮助吗?

谢谢!

编辑:更新的.gitignore文件

将部署策略更改为导出:

set :deploy_via,:export

这适用于忽略.git文件夹,但下面看到的.gitignore文件内容仍然没有考虑在内

.DS_Store
includes/PHP/config.PHP
/uploads
Capfile
.git

编辑2(解决方案):编辑1与以下组合完成技巧.
在.gitignore文件中列出之前已添加文件将不断上传.说我有以下.gitignore文件.

.DS_Store
includes/PHP/config.PHP

然后我运行了以下命令:

git add .
git commit -a -m 'some commit'

然后我决定添加到我的.gitignore文件,所以它现在看起来像这样:

.DS_Store
includes/PHP/config.PHP
Capfile

然后,我跑了:

git add .
git commit -a -m 'another commit'

现在我看到.DS_Store和includes / PHP / config.PHP尚未上传,但是Capfile有…这就是我原来的问题中发生的事情.
原因是:我认为仅在添加(即git add.)时才会考虑.gitignore文件.如果我已经添加文件,然后将它们放在.gitignore文件中,它们就已经被添加到项目中了.我需要使用git rm命令删除它们.
我刚刚用一个新的.git repo重新启动并且解决了这个问题,但是你没必要 – 你可以删除你已添加的任何文件,但现在想用git rm命令忽略.

我选择了帮助我得出正确结论的答案,尽管上面详细介绍了完整的解决方案.

您的部署策略是什么?

你有Capistrano设置来排除.git文件吗?
如果你使用set:deploy_via,:copy然后确保添加以下内容

set:copy_exclude,[“.git / *”,“.svn / *”,“.DS_Store”]

否则使用set:deploy_via,:export应忽略源控制文件

http://www.capify.org/index.php/Understanding_Deployment_Strategies

猜你在找的PHP相关文章