Explore Courses Blog Tutorials Interview Questions
+1 vote
in DevOps and Agile by (29.3k points)
edited by

I've started playing with Git and have come across the terms "upstream" and "downstream". I've seen these before but never understood them fully. What do these terms mean in the context of SCMs (Software Configuration Management tools) and source code?

1 Answer

+2 votes
by (50.2k points)


Checking out a local branch from a remote-tracking branch automatically creates a branch which is known as a “tracking branch” (and the branch it tracks is called an “upstream branch”).


In terms of source control, when you copy (clone, checkout, etc) from a repository. Information flowed is "downstream" to you.

Sometimes you'll read about package or release managers talking about submitting changes to "upstream". That usually means they had to adjust the sources so they could create a package for their system. They don't want to keep making those changes, so if they send them "upstream" to the source, they shouldn't have to deal with the same issue in the next release.

Browse Categories