Code generation can be difficult when working on Sitecore templates (where multiple inheritance is possible) for C# models (where only single inheritance can work).
The example code gen templates for Glass Mapper use interfaces to overcome this, which means there's duplication of the properties across models....however another possibility is model composition, which trims down the amount of generated code by not re-defining the properties.
Either way, when doing this inheritance across TDS projects, you need your TDS project to know about any other TDS projects that contains base templates.
This is done on the 'Multi-project Properties' tab on the TDS Project Properties.
Now for the current project above, my TDS items will be able to 'see' the base templates my items inherit from the the other project, and will be able to do code gen on them successfully. For the interface method, this means adding an interface for the base model, and then defining all of the properties from that base model, in my own template.
An example of this can be seen in the LaunchSitecoreTDS repository, when TDS.MVC.Master has a link to TDS.MVC.Base for it's base template items.
This won't recreate the base model entirely.... but with the default Glass T4 templates, it will use the base model as an interface, so will kind of 'recreate' the fields from that base model in your own model.
Using composition will avoid this property duplication, however it shouldn't be a code-breaking issue.
If, however, you're finding the properties for the base templates are recreated multiple times in your descendant template.... then check if you have multiple inheritance of that base template somewhere. It's possible the code gen is adding the fields twice from the multiple inheritance of the same base template.