A curated list of awesome version control systems.
I like to keep everything under version control. This is a list of utilities that allow you to do that. Tools that help you keep data in plain-text (and version control yourselves) are permitted.
Note: * denotes that the linked item is not a library or tool, but an article or blog post.
DNS
- clouddns (Cloudfront)
- namesync (Cloudflare)
- Terraform has providers for CloudFlare, UltraDNS, and PowerDNS
Configuration
Terraform
Terraform lets you manage a lot of things in version control, including:
- Database Provisioning for MySQL, CouchDB, InfluxDB, and PostgreSQL.
- DNS Setup for PowerDNS, UltraDNS, DNSimple, DNSMadeEasy, and DNS updates over RFC 2136.
- Cloud Providers:
- AliCloud
- AWS
- Azure
- Google Cloud
- Oracle Public Cloud
- VMWare VSphere
- DigitalOcean
- Heroku
- OpenStack
- OVH
- Scaleway
- 1&1
- and many more... See https://www.terraform.io/docs/providers/type/cloud-index.html
- InfraStructure
- Chef
- Consul
- Docker
- Kubernetes
- Nomad
- RabbitMQ
- Rancher
- Vault
- Version Control
- BitBucket
- GitHub
- GitLab
And a lot more. A full list of providers is at https://www.terraform.io/docs/providers/index.html, and you can find community providers at https://www.terraform.io/docs/providers/type/community-index.html
Passwords
- *Question on StackOverflow
- *John Resig's blog post
- pass - Standard unix password manager (encrypt, then commit).
- ansible-vault - Encrypted storage for ansible.
- sops - Encrypts files for git.
Dotfiles
- *dotfiles.github.io - List of various dotfile resources, curated by github
- *Arch Wiki Guide on using version control for dotfiles
- gnu stow
Editors
- *http://www.terminally-incoherent.com/blog/2012/03/12/putting-your-vim-files-under-version-control/
- Editorconfig - Keep your coding styles in a .editorconfig file.
Media
- Git Large File Storage - Replaces large fileswith text pointers inside Git, while storing the file contents on a remote server. Maintained by github
Encrypted Storage
- *HN Thread for blackbox, with various alternatives suggested
- git-crypt - git-crypt enables transparent encryption and decryption of files in a git repository
- *Blog post on git-crypt
- transcrypt - transparently encrypt files within a git repository
- blackbox - use decryption keys per user, meaning that there is no single shared password
Designers
- pixelapse - Visual version control and collaboration workflow
- *Adobe Version Cue - Blog post explaining version control to designers
- kactus.io - Version control for designers (Sketch+Git for now)
Music
- lilypond - version control for sheet music. Think Latex for sheet music
- tunemachine - Version control for spotify playlists.
Database
- *Jeff Atwood's blog post
Database Schema
Backups
- bup - Very efficient backup system based on the git packfile format, providing fast incremental saves and global deduplication (among and within files, including virtual machine images)
Writing
- Draft - Easy version control and collaboration for writers.
- Penflip - GitHub for collaborative writers.
- GitBook - Book publishing platform based on git and markdown.
Todo
- todo.txt - Pretty well known text file format with applications on many platforms.
- *Todo list in version control - Based on using notational velocity and tracking it in git.
Food
- Fork the Cookbook - GitHub for recipes
- diy.soylent - Soylent recipes can be tracked and include changelogs. They can also be forked.
Diagrams & Flowcharts
- Web Sequence Diagrams - Generates imagess from your plain text descriptions. Has an API for plugin support, so you can embed easily.
- Kanga Modelling - UML diagram generator in plain text. Written in .NET
- yuml.me - Class UML diagrams, described in plain text, and easily embeddable.