Git rebase takes a range of commits from one branch and transplants them to another branch, integrating the changes from the target branch. This keeps the project history linear rather than creating merge commits, making it easier for humans to follow. During rebasing, any conflicts that occurred during the original commits may need to be resolved again.