Modern software work often looks clean from the outside: a repository, a main branch, a few pull requests, and a team moving forward together.
In practice, many projects are more layered than that, even when they are healthy and well run.
You may be working from a fork. Several pull requests may be open at the same time. Some changes may depend on other changes that are not merged yet. A team may also keep an internal integration branch just to make the whole system runnable while waiting for upstream reviews.