Development in a team of co-workers can be difficult, as two people might accidentally edit the same object at the same time and unintentionally overwrite each other's work. That's why a developer can lock a certain object for editing (check out) and unlock it (check in) after finishing the edits. When an object is checked out, other developers cannot modify it.
Object locking works similarly as content locking used for documents. Object locking is, however, used on various objects with modifiable code, such as CSS stylesheets or web part containers. A list of objects that currently support this function can be found in the Supported object types topic.
You can find the details about object locking, how this feature works and where it can be turned on/off in the Object locking topic.
All these objects can also be stored in the file system and managed by an external version control system (Git, Team Foundation Server, etc.). More information can be found in the Deployment and source control topic along with the instructions on how to deploy these objects to another system.