Knowing Your Place
When participating in a distributed development project, it is important to know how you, your repository, and your development efforts fit into the larger picture. Besides the obvious potential for development efforts in different directions and the requirement for basic coordination, the mechanics of how you use Git and its features can greatly affect how smoothly your efforts align with other developers working on the project.
These issues can be especially problematic in a large-scale distributed development effort, as is often found in open source projects. By identifying your role in the overall effort and understanding who the consumers and producers of changes are, many of the issues can be easily managed.
Upstream and Downstream Flows
There isnât a strict relationship between two repositories that have been cloned one from the other. However, itâs common to refer to the parent repository as being âupstreamâ from the new, cloned repository. Reflexively, the new, cloned repository is often described as being âdownstreamâ from the original parent repository.
Furthermore, the upstream relationship extends âupâ from the parent repository to any repository from which it might have been cloned. It also extends âdownâ past your repository to any that might be cloned from yours.
However, it is important to recognize that this notion of upstream and downstream is not directly related to the clone operation. Git supports a fully arbitrary network ...
Get Version Control with Git now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.