I know that Indo-European is the name of a family of languages that includes nearly all the major tongues of Europe and several outside Europe, such as Persian and Hindi. Germanic is a sub-category of Indo-European. But I read some paper before, and it said Germanic has some changes from IE. Is it correct to say in that way? Shouldn't we say Germanic develops from Proto-Germanic, and Proto-Germanic develops from Proto-Indo-Europeans?
Indo-European and Germanic are language families, not individual languages, and Proto-Indo-European and Proto-Germanic are each the single language that is the reconstructed most recent common ancestor of all of the languages in their respective language family. Sometimes people (not usually linguists) use "Germanic" as a noun as a short-hand for either the Germanic languages in general or Proto-Germanic specifically, and more rarely the same for "Indo-European" as well, but that's sloppy at best. Avoid doing that.
By definition, proto-languages are members of the language family formed by their descendants, because they're implicitly created to share all of the distinctive features that their daughter languages have in common as compared to any other branches of the broader family tree, so it's also not really correct to say "Germanic" developed out of Proto-Germanic if by "Germanic" you mean all Germanic languages; Proto-Germanic already is Germanic, and the first language (Greek πρῶτος 'first, earliest') to bear that distinction.