bash脚本来同步目录,但忽略某些文件

问题描述:

我试图想出一个在我的PhoneGap项目上工作的解决方案。目前,我正在开发一个文件夹,然后将编辑后的文件复制到xcode的www文件夹中 - 这样我就可以将git回购单独保存到构建的内容中。这变得非常重复,我想将它自动化。有任何想法吗? 基本上它需要忽略.git,.project和其他点文件。我在mac osx上。bash脚本来同步目录,但忽略某些文件

+0

我想要它复制文件,然后运行xcode build命令,这应该是可能的吗? – 2010-11-17 14:00:49

这很容易与rsync做。检查手册页中的--exclude选项。

您可以使用rsync来同步目录&也可以配置为包含&的一些模式匹配或排除同步中的文件。

如果这是在一个git仓库中,你也可以使用git archive来捆绑东西 - 这样做的好处是只能查看跟踪的内容,并且能够在任意提交时操作,而不仅仅是你拥有的东西此刻你的工作树。

如果存在您不想存档的跟踪文件,可以使用export-ignore gitattribute将其排除。例如:

$ cat .gitattributes 
.project export-ignore 
.gitignore export-ignore 
.gitattributes export-ignore 

就像.gitignores,你可以在子目录.gitattributes为好,并且可以使用的模式。例如,最后两个可以简化为.git*

请注意,git-archive将默认使用您正在归档的提交/树的属性,而不是工作树,所以如果您在摆弄属性并进行测试,则需要使用git archive --worktree-attributes