Hello, I am a new user to Git, coming to it after many years of using Visual Source Safe (VSS). I have a product that I am ready to move to management using Git and have been studying hard to understand how Git works and how I can use it in my workflow. At this time the product has two versions (maybe more in the future), each addressing a particular target usage. Much of the code is common between the two however where they diverge there are big differences. What I would like to do is to have a scheme that looks like this, could not figure how to have my message formatted so project two branches from "B" in project one. Project start -> A -> B -> C -> G Product One | D -> E -> F Product Two I understand how to do this using branching, my problem arises when I have an update or bug fix in say product one how can I merge the fix into project two. Suppose I fix a bug in product one and arrive at "H": Project start -> A -> B -> C -> G -> H Product One | D -> E -> F Product Two How can I apply ONLY the changes made to fix the bug in project one to project two? Thanks for you time and patience, Sid.