In U.S. speech, when we use the form "I have got" we almost always use the contraction "I've." An example would be the name of once-famous TV panel show, "I've Got a Secret."
I'm just a U.S. native speaker, not a teacher. With regard to the difference, I don't think there's any difference at all. That raises a question, "Which should I use?" Use whichever seems easiest.
I think there is a slight tendency for U.S. speakers to say "I have" and British speakers to say "I have got." (Martin Luther King's famous speech used the words "I have a dream!" Hillaire Belloc, a British writer, in the late 1800s, wrote "Whatever happens, we have got/The Maxim gun, and they have not.")
In the negative sense, in the U.S., we would usually say either "I don't have X" for a singular countable noun;"I don't have any X" for a plural or uncountable noun; rarely, "I haven't got," "I haven't got any," or "I've got no."
"I don't have a pen, may I borrow yours?"
"I haven't got a pen, may I borrow yours?"
"I have two brothers, but I don't have any sisters."
"I have no food allergies, I can eat anything."
"I've got no strings..." (Pinocchio, in the Disney cartoon)