Viele Programme und Web-Projekte sind heute so umfangreich, dass sie kaum mehr mit nur einem Entwickler umsetzbar sind. Gefragt ist die Zusammenarbeit von mehreren Kollegen, von denen jeder sein Spezialgebiet hat. Dabei werden die Projektdateien oft über ein gemeinsames Netzwerk oder das Internet mit allen Beteiligten synchronisiert. Dass ein Mitarbeiter nicht die Quelltext-Änderungen eines anderen aus Versehen überschreibt, darauf achtet meist ein Versions-System. Das merkt sich, wer welche Datei wann bearbeitet, und dokumentiert dadurch gleichzeitig den Projektverlauf.
Das derzeit populärste Versions-System ist Git. Wenn ein Projekt Git verwendet, hat jeder Mitarbeiter eine Kopie aller Arbeitsdateien samt Verlauf. Ändert jemand eine Datei, trägt er das anschließend ins Versions-System ein und gibt einen kurzen Grund dafür an (man sagt, die Änderung wird „committet“). Zusammengefasste Änderungen lassen sich dann per Netzwerk oder Web zu den Kollegen schieben („pushen“). Diese lesen danach das Logbuch und übernehmen die Daten in ihre lokale Projektkopie.
Wurde eine Datei gleichzeitig sowohl von Ihnen als auch Ihren Kollegen bearbeitet, wird das als Konflikt angezeigt, und die Datei kann Zeile für Zeile in beiden Versionen nebeneinander betrachtet werden. So kann der Konflikt aufgelöst werden. Der Vorteil: Keine der beiden Änderungen wird durch die zeitlich spätere überschrieben. Würde hingegen ohne Versions-System eine Datei von zwei Entwicklern gleichzeitig geändert, würden die zuerst abgespeicherten Änderungen überschrieben, wenn dieser seine eigene Datei sichert.