Git 如何仅同步项目的一部分?

Git 如何仅同步项目的一部分?,git,deployment,aptana3,Git,Deployment,Aptana3,我在AptanaStudio 3中有一个带有git存储库的web项目。不幸的是,当它被创建时,它带来了所有的文件夹,如邮件等,tmp。仅将我的公共html文件夹部署到web的最佳方法是什么?它应该是我的git存储库和Aptana项目中的唯一文件夹,还是有办法隐藏整个文件夹,这样我就可以将public_html部署到web上 谢谢。GIT存储库是用来存放应该受源代码控制的内容的。由于邮件等,tmp不应该受源代码控制,所以解决问题的方法是将它们从存储库中取出。您的GIT存储库可能处于错误的级别。所以

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


谢谢。

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
$cd/path/to/public\u html/。。
$tar cf keepers.tar邮件等,tmp
$echo“mail/\netc/\ntmp/\n”>>.gitignore

$git rm-r mail etc tmp#用于提取存储库的相关部分(具有历史记录)以生成另一个存储库,然后推送它。

您应该使用
.gitignore
文件。只需在那里添加不必要的部署文件和文件夹。 在git下存储密码、密钥和环境设置(如本地db设置等)也不是一个好的做法


请为您的项目选择好的示例。

谢谢您的帮助。我保留了现有的GIT存储库。在Aptana中,我打开了Publish=>Deployment Settings,并将远程路径从/更改为/public\u html。