Updated versions.md

hsxy8 authored
revision 05242ce69e33c7d052c341cca4c0721e1f7d2871
# Versions and Tags

Version control is simply means: a way to manage changes over time. If you've ever saved multiple versions of a document (like a *rough draft* and *final draft*), then you've hacked together your own version control system. Congrats! The problem with that is that it's cumbersome and difficult to manage, especially for long term projects with multiple collaborators.

Penflip handles all of this for you, so you can focus on writing.

### Versions

You can **think of a version like a copy of the project**. Versions change over time, and a Penflip project can have multiple versions. When you create a project, there's only a **master version**. The master version is the main version of the project, and only you can make changes to this version.

When collaborators join your project, a new version is created for each of them, automatically. For example, when your friend Tim joins your project, a new version will be created called 'tim'. When Tim makes changes to the project, those changes are only made on his version. The master version isn't updated until he submits his changes for approval.

When a collaborator edits your project, they will see a message like this:


### Submitting changes

After a collaborator makes changes on their version, they submit them for your approval, describing the changes they've made:



### Accepting changes

As the project owner, you will be notified of submitted changes via email, with a link to view the changes. From there, you can choose to accept or reject the changes. If you accept the changes, the master version of the project will be updated with the new changes. If you reject the changes, they'll be discarded (but stored in an alternate version for archival purposes).

This is convenient because you can send a project link to your peers, request feedback, and only integrate the feedback you want to accept - all with the click of a button, in the browser.

### Tags

When you're editing your project, you can create tags. You can **think of a tag like a checkpoint or reference point** - marking a project in its current state at a specific time. For example, after you've released the first version of a book, you can create a 'version1' tag. You can continue making updates and changes to your book, but you can always go back to 'version1' to see how the book looked at that time.

Create a tag by clicking on the 'Save' icon while editing, then typing a tag name under 'Tag this version':


### Viewing versions and tags

On a project page, you see the master version by default. You can switch to any version or tag using a toggle in the bottom right corner. You can also download the project with any version or tag after you've switched.


*Note: this will not display unless there are multiple versions or tags.*