There are two popular etymologies for this term for a person who gives a gift only to later demand its return. The first is that it is based on an unfair stereotype of Native Americans, that they don't keep their word. In the other popular explanation, the term doesn't cast aspersions on Native Americans, instead it echoes the broken promises the whites made to the Indians. Neither is accurate, although the first is closer to the truth.
The noun Indian gift dates to 1765. Indian giver follows about a century later in 1865. Originally, these reflected simply the expectation of a return gift. By the 1890s, the sense had shifted to mean one who demands a gift back.
Based on the observation by European colonialists that native Americans would, by tradition, give a gift as a signal for something more significant in return. Interpreted negatively, leading the word "Indian" to mean false (e.g. Indian summer).
Guy on porch: You know, the origin of the word "Indian giver" comes from ...
Chris: "wow! thanks i really need this car to get to work"
a few weeks later after chris fixes up the car
John: "yeah i'm gonna need that car back"
Chris: "but you gave it to me"
John: "yea well it's still in my name, i can call the authorities or you can just give it back to me. Either way it's going to be parked at my house tonight."
Chris: John is such a bitch ass indian giver i'm gonna scalp that motherfucker in front of his kids
2 days later
cherie "can i have that back"
michael "indian giver"
As in, giving some unwanted land to the Native Americans (or Indians), finding that the land contains gold, and then taking it back.
At least, that's what I was taught. None of the other definitions on here seem to follow this route, but surely my explanation makes the most sense?!
Leah: Cheers. Hey, they're not nuts, they're chocolate chips. Mmmm...
Jade: Can I have it back? It was mine first.
Leah: Fucking Indian giver...