I have to develop two Django projects which share 90% of the same code, but have some variations in several applications, templates and within the model itself.
I would make a third repo where I would place the code that Projects share. Then Project1 and Project2 would have their own repo and they can pull from that "shared" third repo.
I think that your idea of "filtered pull" will make it difficult to mantein.