The Angles and Saxons were continental Germanic tribes who began settling in Britain in the 5th century. They absorbed or displaced the native Celtic population, who had for several centuries been under Roman rule. The Anglo-Saxons used Old English Germanic names.
In the late 8th century Vikings began raiding England. Eventually they started settling in the north and east, bringing with them Old Norse names. Some of these Scandinavian names permanently joined the pool of English names.
The Norman Conquest of England took place in 1066. The Normans became the new ruling class, and many of their Germanic names replaced the Old English ones. In fact most Old English names ceased to be used within the next several decades.
Though Christianity had long been established in Britain, Christian names did not become very common in England until the 13th century. The Church encouraged parents to give the names of saints to their children. These names were often of Ancient Greek, Latin or Hebrew origin.
The Protestant Reformation began in 1517. In England king Henry VIII split with the Catholic Church and created the Anglican Church with him as its head. Protestants generally placed more emphasis on scripture and revered the saints less, so biblical names came into fashion. The fundamentalist Puritans of the 17th century used even more obscure biblical names from the Old Testament and also virtue names, such as Charity and Patience.
The trend of using surnames as given names started in the following years. This practice has traditionally been more common in America than Britain.
During the 18th and 19th centuries many older names were revived. Also, names from literature and mythology became more common. In the later 19th century, during the Victorian Age, some vocabulary words began to be used, such as those of flowers and gemstones.