org-page are has three local components, and at least one remote. These are:

local org-page code base that manages everything, installed in emacs local source branch of your web-site local master branch generated from source by the code base remote master branch serving HTML pages (remote source branch)

The optional remote component of source does not really do anything, but it is a nice way of creating a backup and safeguarding your work.

Note that remote does not have to be in remote computer: You save the output to any local directory that your web server can see, e.g. http://localhost/~your_login .

By branches we mean branches of a git repository. Everything in org-page is based on git and you have to have some kind of understanding of its workings before you can make org-page to do what you want. Commonly git branches contain files that have at some point been the same and will at some point be merged back together. Org-page branches are different. The source branch holds org mode files that the code base will translate to HTML for publishing. To keep things simple, you should keep the flow of information one way only.

This was my initial stumbling block. I kept switching between the two branches and did not know what to commit where. In no time the repository was a complete mess. The code base does not know in which branch the repository is and does not warn you. It would be great if it were to know and refuse to touch files in a wrong branch.

Starting anew, I was more careful.