Summary
In this chapter, we have learned how to choose a transport protocol (if the remote server offers such a choice), and a few tricks such as using foreign repositories as if they were native Git repositories and offline transport with bundles.
Contact with remote repositories can require providing credentials—usually, the username and password, to be able to, for example, push to the repository. This chapter described how Git can help make this part easier thanks to credential helpers.
Publishing your changes and sending them upstream may involve different mechanisms, depending on the workflow. This chapter described push, pull request, and patch-based techniques.
The two following chapters expand on the topic of collaboration: Chapter 8, Advanced Branching Techniques, explores relations between local branches and branches in a remote repository, and how to set up branches for collaboration, while Chapter 9, Merging Changes Together, talks about the opposite issue...