This website it the first one I've come across to say the meaning is “hostage”. My name is Giselle and every time I’ve looked it up, it has always said it means “pledge” or “promise”, and I resonate with that a lot more. There’s also another comment I saw that breaks down the word and Giselle translates better to “girl of the land”, not hostage.
Having studied linguistics, French and Italian, I really have to say the name more likely means "girl of the land." The prefix "Gis" is from the Greco/Roman base meaning "land" and the suffix "Elle" clearly is from the French word elle meaning "girl". Hence "Giselle" or "girl of the land," not captive.