I think the Q2 is not really clear, while it's more correct in StackOverflow link.
"A pull request is when someone take the repository, makes their own branch, does some changes, then tries to merge that branch in (put their changes in the other person's code repository)."
I would have said that a Pull Request is not a Git concept but a Git projects hosting (github/bitbucket/etc) concept where a UI is associated to a branch to discuss about its purpose, to review code changes and to emit remarks or suggestions before merging it to another branch.
In other words, it's a relational step in a development workflow where all involved parties can discuss before merging a code change to the main codebase.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.