Sorry mate, was a bit chaotic yesterday 
About your examples:
server connect files would work, as long as you dont edit one as it exists in master.
Pages itself in tenant will work, here would occur a problem, because if you create a page in tenant it updates the routes.json file. This file already exists in master. So Github doesn’t know, what to do exactly, because you have two different versions with different updates (on different lines). Github itselve can handle changes on same lines. So if you have a change in master on line 40 and also in the tenant file on line 40, it will not be a problem. But if you’ve added a new page file in the tenant project, this routes files in tenant will have 4 new rows, that the master cannot handle.
To add a file to gitignore, open your project root folder on your computer. Wappler doesn’t show the gitignore file in the editor file tree. If you open your local project folder, you will see a file named .gitignore in top level root of your project. Open this with another editor and add the filenames or even complete folders.
For the sync problem you could use branches in the tenant project. Problems like yours come up, if you edit the master project and work parallel on the tenant project. So the easiest way possibly is:
Create a Branch called like you want (e.g. dev or tenant-dev) in your tenant project. Do your tenant dev only in this Branch. In parallel you can work on the master. As soon as you want to release a new tenant version (or let’s say, you’ve finished a new feature), first sync your forked tenant. At this moment your Master or Main Branch in the tenant project gets updated with all your code from the master project. Now you are ready to merge your tenant-dev Branch into your Tenant-Main Branch. Take your console or Git Desktop to merge those two brands. You will get also merge conflicts because your main-branch files are ahead of your dev files. To solve this open the merge report, it will show you the merge conflicts per file. Now you can open those files and edit them to get the conflicts solved. Here you can choose if you want to keep the edits in the tenant file or add only 2 lines of the master etc… If you now solved all your conflicts, merge branches and you will get a new release for the tenant project.
As an example:
Let’s say you created a new page in project master but also a new page in tenant-dev. This will raise a conflict because you have edited different lines in the same file. When you merge the branches you will get a conflict report. Open the report and target to the file thats causing the conflict. Open this report and edit it: You can now delete lines or if you want to keep both changes, keep all new generated file. If you want to keep both sites, routes.json should contain both changes, so just delete the git inserted comments, check that the merge-file will contain both changes, save it and the conflict should be solved. If you now merge, the routes.json file contains the mixed code of both branches.
It’s not that easy to sync tenant-specific projects with a master if you make changes to both. There are some files that are always changed in both projects, which you then have to resolve manually. So I would like to point out again that if you only have a few tenants, the manual migration route is certainly easier.