我在我的本地计算机上的文件夹中初始化了我的项目:
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