I'm guessing it would be possible to do some capistrano magic to update the repo (or ignore) these files, however I'm thinking that the 'pages' are actually your data. Is that correct?
If so, I'm wondering why you want them in the repo or why it is bad that the repo is out of date?
If they're actually the data on the site, I would consider pointing 'page' data at a different path and then using .gitignore file in order to ignore them from the git repo. The .gitignore file is a method of telling git that you don't want to include certain files or folders that live under your directory in the git repository.
Does this help?
Well it might be possible but you will work quite hard to make it happen.
You'd need a task before the one which checks out the repository that will check the
current dir for changed files.
You can use
git ls-files . --exclude-standard --others for untracked and
git ls-files -m for modified files, if there's input you'd have to commit those files and push them into the repository.
If you've done it before capistrano checksout the latest
master then it now will checkout the newest
master with your new files.
Now if you'd like the ability to control which files to add to the repo and which not to you can either have your
.gitignore configured correctly or you can use the output you get back from
git ls-files with some other gem like highline, maybe this will help you (capistrano used to have a
CLI module in the DSL but it's gone).
So yeah it's possible.
Should you do it?
It depends if there are any implications from Perch. I've never used Perch before so I partly understand why they create the extra files, moreover you'd also have to check for files that have been deleted (incase that Perch deletes pages that the users no longer use) or you will have trash in your git repository (in the good case) and in the worse case you'd have data inconsistencies which is BAD.
Hope this helps.