Advanced: Version Control
Haiku projects, including imported assets, are backed by version control using git.
Every change made is tracked atomically as an individual commit. When publishing a project, Haiku tags a commit with a version number and pushes it to our infrastructure.
If you’re new to git, this blog post is a good starting point.
What's happening behind the scenes?
When you create a new project, Haiku takes care of all the hard work of setting up a git repository on your local machine and remotely on our infrastructure. In Haiku, whenever you make a change to your project or an asset, its tracked as a commit locally. Each time a project is published, its version number is incremented. Every publish attaches your version number as a tag in git, and pushes the commit to your remote repository.
What’s the best way to restore a previous project state?
With your project open, click on
Developer -> Open Terminal.
git log --pretty=onelineto list all previous commits. Use the
⬇keys to scroll.
Copy the commit hash in the left column to your clipboard, and then press
qto exit the git log terminal state.
git reset --hard yourcommithashpasting your commit hash from your clipboard
Return to Haiku and continue working!
What are Haiku’s future plans related to version control?
Git provides a powerful, flexible technical foundation for version control. In the future, we plan on improving the quality of commit messages, and expose many of gits features visually to aid team collaboration between technical and non-technical users.