Why is it Englishman, Frenchman, etc. (one word) but British man (two words)?
It has to do with etymology and usage.
Old English made use of compounds:
The word was in use before, is still today and its spelling has been reformed to Englishman.
There are other words that were in use before and not today:
The use of the word British may have come into popular use only after, in the 18th Century, when it became interchangeable with English. At the time the English language did not tend to make use of full word compounds that would lead to words like Britishman. Moreover, the word British means related to the Britons (as yellowish means related to yellow) and it would be used as an adjective to British Isles, the people themselves were called Britons.
Similar treats are found in French, while no full-word compounds exist today, words like partout (par tout, lit. "through all", i.e. everywhere), aujourd'hui (au jour d'hui, lit. "at the day of today", i.e. today) and beaucoup (beau coup, lit. "a beautiful hit", i.e. a lot) are still in use.
Probably because Britisher already exists, even as Brit, Briton, even the British.
The above answers are a bit wrong, I’m afraid.
The reason is simply because Britain isn’t a country! It’s a sovereign state made up of four countries, England, Wales, Scotland and Northen Ireland. Notice how Englishman, Welshman, Scotsman and Irishman all sound right.
Because Britain is a state, it would be like calling a man from Texas a Texasman, or someone from Alabama an Alabamaman. (Try saying that after a few!)