Versionen bieten Teams die Möglichkeit, ein Produkt zu einem bestimmten Zeitpunkt zu erfassen. Wenn ein Produkt einen Meilenstein erreicht hat, checkt ein Team eine Version des Produkts ein. Ursprünglich bietet die Version dem Team die Möglichkeit, zu markieren, dass ein Ziel erreicht wurde. Bei fortlaufender Produktentwicklung jedoch hat ein Team möglicherweise den Bedarf, ein Produkt zwecks Reproduzierbarkeit durch eine vorherige Version zu ersetzen. Beispielsweise wäre es vorstellbar, dass ein Team eine Produktumgebung reproduzieren muss, um so ein Kundenproblem lösen zu können.
Alternativ dazu kann ein Team, das ein Produkt durch ein verbessertes Produkt ersetzen muss, eine Version in ein Produkt einchecken und dann ältere Produkte durch die neuere Version ersetzen.
Versionen haben Beziehungen zu älteren und neueren Versionen. Stellen Sie sich ein Produkt mit Namen SuperCar vor. Als vom Team die erste Betaversion freigegeben wurde, wurde eine Version mit dem Namen SuperCar-Beta 1 eingecheckt. Einige Monate später wurde die zweite Betaversion freigegeben, weshalb eine Version mit dem Namen SuperCar-Beta2 eingecheckt wurde. Der Snapshot SuperCar-Beta1 hat eine Beziehung zu seinem Vorgänger, dem Snapshot SuperCar, da es sich bei SuperCar-Beta1 um eine Version von SuperCar handelt. Entsprechend hat der Snapshot SuperCar-Beta 1 eine Beziehung zu SuperCar-Beta2, da es sich dabei um ein untergeordnetes Element von SuperCar-Beta 1 handelt.
In der Produktstruktur werden nicht alle Versionen des Produkts auf der Seite Produkte suchen angezeigt. Wenn Sie die Versionen eines Produkts anzeigen möchten, klicken Sie mit der rechten Maustaste auf das Produkt und wählen Sie Prüfprotokoll anzeigen aus.
Wenn Sie ein Produkt einchecken, wird die Produktstruktur versionsgesteuert angepasst, die dazugehörigen Artefakte aber nicht.
Mit anderen Worten: Wenn Sie ein Produkt einchecken, erfassen Sie die Links zu den verschiedenen dazugehörigen Artefakten, nicht aber die Versionen der dazugehörigen Artefakte selbst. Wird dann nach dem Einchecken des Produkts ein dazugehöriges Artefakt in seinem nativen Tool geändert, wird beim nächsten Zugriff auf das Artefakt das jeweils neueste Artefakt in der Produktversion angezeigt.
Mithilfe von Verzweigungen können Teams abweichende Varianten von Produkten erstellen. Während der Entstehung von Produkten werden Teams manchmal mit der Anforderung konfrontiert, für Kunden Produkte erstellen zu müssen, die etwas von den Standardprodukten abweichen. Andere Teams, die Produkte für den weltweiten Vertrieb erstellen, sehen sich mit der Anforderung konfrontiert, zahlreiche Varianten eines Produkts für die verschiedenen Länder (z. B. aufgrund von Anforderungen hinsichtlich der Netzspannung) herzustellen. Mithilfe von Verzweigungen haben die Teams die Möglichkeit, entsprechende Anpassungen vorzunehmen.
Außerdem können Teams eine Verzweigung erstellen, wenn ein Produkt wegen Sicherheitsproblemen zurückgerufen wird. Vom Team würde in diesem Fall eine Verzweigung erstellt, um die Sicherheitsprobleme zu beheben und anschließend würde die fehlerhafte Verzweigung durch die neue Verzweigung ersetzt.