如何只同步部分项目?

时间:2012-04-28 14:56:43

标签: git deployment aptana3

我在Aptana Studio 3中有一个带有git存储库的Web项目。不幸的是,当它被创建时,它带来了所有文件夹,如邮件等,tmp。仅将我的public_html文件夹仅部署到Web的最佳方法是什么?它应该是我的git存储库和Aptana项目中唯一的文件夹,还是有办法隐藏整个文件夹,以便我可以将public_html部署到网络上?

感谢。

3 个答案:

答案 0 :(得分:1)

GIT存储库用于应该受源控制的东西。由于邮件等,tmp不应该受源代码控制,因此解决问题的方法是将它们从存储库中取出。您的GIT存储库似乎处于错误的级别。所以你有两个选择:

1)放弃现有的GIT存储库并在public_html中创建一个新存储库

$ cd /path/to/public_html
$ git init; git add -A; git commit 'Initial publc_html'
$ rm -rf ../.git

2)保留现有的GIT存储库,但删除邮件等,tmp。

 $ cd /path/to/public_html/..
 $ tar cf keepers.tar mail, etc, tmp  <others>
 $ echo "mail/\netc/\ntmp/\n" >> .gitignore
 $ git rm -r mail etc tmp     # <= careful
 $ tar xf keepers.tar

答案 1 :(得分:0)

使用git-subtree提取存​​储库的相关部分(带历史记录)以生成另一个存储库,然后推送它。

答案 2 :(得分:0)

您应该使用.gitignore文件。只需在那里添加不必要的部署文件和文件夹。 在git下存储密码,密钥和环境设置(如本地数据库设置等)并不是一个好习惯。

查看项目here的好例子。