Software zur gemeinsamen Bearbeitung von Dateien

Halle liebe Community,
ich suche eine spezielle Software und hoffe, dass ich meine Erwartungen rüberbringen kann und ihr evtl. Vorschläge habt.

Es geht darum, dass ich mit meinem Kollegen gemeinsam an mehreren Projekten arbeite.
Dazu gehören z.B. Projekte in Visual Studio, Office, SIMATIC, etc.

Nun suche ich eine Software, die es uns ermöglicht, zusammen ohne Konflikte an diesen Projekten zu arbeiten. Mein Wunsch wäre es, dass man evtl. auf einem Server die Projekte anlegt. Sollte ich nun eines dieser Projekte bearbeiten wollen, möchte ich über einen Client das Projekt für mich „registrieren“, d.h. das dieses Projekt auf meinen Computer übertragen wird und währenddessen von meinem Kollegen nicht bearbeitet werden kann.
Sobald ich mit meinen Änderungen fertig bin, soll das Projekt wieder auf den Server verschoben werden. Ein Übertragen auf den jeweiligen Rechner ist Pflicht, da danach der Rechner höchstwahrscheinlich vom Netzwerk getrennt wird, um an einem anderen Arbeitsplatz weiter zu machen.

Klar, es wäre zwar möglich, einfach nur einen Netzwerkordner anzulegen, wo die Projekte und eine Logdatei (in welche die Änderungen zusammengefasst werden) liegen und jeder verschiebt sich dann das Projekt auf seinen Rechner. Da es mir aber auch um Versionsverwaltung und Sicherheit geht, falls einer der Rechner, der ein Projekt „registriert“ hat zufälligerweise in diesem Moment einen Festplattenschaden erleidet, suche ich daher nach einer Software, die uns dieses Management relativ unkompliziert ermöglicht.

Vielleicht kennt sich die breite Masse hier besser aus.
Über etwaige Lösungen bedanke ich mich bereits im Voraus.

Gruss Torsten

Da gibt es einige Mögichkeiten
Subversion oder GitHub z.b. sind beides mit Versionskontrolle und
finden sich auch nette Tools für die meisten Betriebsystem bzw Entwicklungsumgebungen.

Vielen Dank für deine Antwort.
Leider bin ich, sofern ich recht verstanden habe, bei GitHub (Onlinedienst?) zusätzlich zum Netzwerk auch an das Internet gebunden, oder?

Ich würde gerne auf einem Rechner im Netzwerk ein Server-Programm aufsetzen, damit ich auch unabhängig zum Netzwerk bin. Unsere Projekte auf einen fremden Server zu kopieren, wird unserer Datenschutzabteilung garantiert nicht gefallen.

Ich habe mich bereits ein wenig mit TortoiseGit beschäftigt, jedoch gefällt mir diese Lösung nicht so recht.
Die Daten liegen ja dort weiterhin auf dem Ursprungslaufwerk. Ich müsste mir diese dann manuell auf meinen Computer verschieben, damit ein anderer die Daten nicht gleichzeitig verändern kann.
Bei TortoiseSVN gab es ja immerhin noch die Möglichkeit, die Daten für andere zum Bearbeiten zu sperren, bei TortoiseGit habe ich diese Möglichkeit leider (noch) nicht gefunden.