- Checkout ist eine exklusive Sperre für das Ändern eines Objektzweigs in einem Repository.
- Das Einchecken ist eine Freigabe der exklusiven Sperre.
Abhängig von der kleinsten Verzweigungseinheit gibt es zwei Arten von Quellcodeverwaltungssystemen.
1) Verzweigung nach Repository (CVS, SVN, GIT, Perforce usw.)
In Produkten, in denen Sie das gesamte Repository verzweigen, werden durch das Auschecken normalerweise Änderungen an der lokalen Verzweigung (Kopie) des gesamten Repository erstellt oder aktiviert. In diesen Produkten checkin ist oft ungenutzt und wird zu einem Teil der Commit - Operation, die auf einmal Kasse entfernten Zweig, die lokalen Anwendung Patch und checkin im Einzelbetrieb des Fern Zweig. Sie checken Ihre lokale Filiale nicht ein, da sie permanent ausgecheckt ist. (Hinweis: In GIT verpflichten Sie sich nicht zur Remote-Verzweigung, sondern übertragen Ihr lokales Commit darauf. Strikter syntaktischer Unterschied. )
2) Pro Objekt Verzweigung (ClearCase, AccuRev, Oracle ADE)
In Produkten , bei denen man einzelne Objekte verzweigen, wie Verzeichnisse, Dateien usw. Das Konzept der Kasse und checkin gilt pro Objekt pro Zweig. Sie sperren das Objekt, um es mit checkout zu ändern, und geben es mit checkin frei . In diesen Produkten arbeiten Sie häufig in einem privaten Zweig, in dem Sperren niemanden daran hindern, zu arbeiten, und zum Zeitpunkt der Zusammenführung Ihres lokalen Zweigs in einen gemeinsam genutzten Zweig werden die Objekte auch in einem Shard - Zweig (Haupt -, Master -, Feature - Zweig usw.) Ausgecheckt ) Zusammenführungskonflikte werden gelöst und das Objekt wird in der gemeinsam genutzten Verzweigung eingecheckt . Auf diese Weise können mehrere Personen gleichzeitig einen Commit für einen freigegebenen Zweig ausführen, sofern sie nicht dieselben Objekte ändern.