Up until now, the examples that I've looked at, and the majority of things that I've talked about, have involved working with Git in the local environment. I previously defined the local environment as the three Git-related areas that reside on your local system—the working directory, the staging area, and the local repository—along with the supporting pieces, such as configuration, that work with them.
It is a departure from most other texts on Git to wait this long before diving more deeply into the remote side of Git and the remote repository. However, if you have been reading this book in the order it was written to learn about Git, you will have developed a firm foundation to help you understand the interactions with the remote side.
By now, you should be comfortable with how Git works in the local environment, and also understand how it manages those three levels that make up the local environment. And, certainly, you should be well acquainted with the warnings against modifying content that has already been put into the remote environment (the remote repository).
With that foundation, ...