Your $HOME needs Homer :)
Homer manages your dotfiles and folders using just git and GitHUb. No symlinks, no copies.
What makes Homer unique is:
- it works directly in the
$HOME - it keeps track of added files, ignoring everythig else - no need to worry to ignore folders
- fully tracks all added folders - add folder and forget
- there is no staging area (like in
git). Homer hides this from user.
In other words: pick files and folders from your $HOME and add them to the Homer. Everything else is ignored, which is very convenient when used in $HOME. Homer treats added files and folders differently:
- files are simply tracked when they are added. Each individual file must be manually added. Other files are ignored.
- folders, however, are fully synchronized! There is no need to manually add file(s) once folder is added. Homer does all that for you. Of course, you can use
.gitignorein the folders to simply ignore some files.
This makes everyday-life much easier!
Download homer to your $HOME. Done!
First you need to initialize Homer and connect to existing GitHub repo by passing user/repo_name:
homer init github-user/homer-repoOn another machine, just clone Homer repo from the GitHub:
homer clone github-user/homer-repoCheck $HOME/.gitignore and add some common folders. This is not necessary, but can dramatically speed up the detection of changes.
Anytime you can check the status; what is new, changed, deleted or untracked:
homer statusStart by adding files and folders. When folder is added, all its files are added as well! Use .gitgnore to ignore files. For example:
homer add .zsh
homer add bin
...If you already have some folders included in Homer, you can simply add all untracked files bellonging to included folders with simple:
homer addYou only need to add new files. That is different from git: Homer does not have staging area, so you just need to add new files.
Finally, put all your changes to the repo (this command will also add all untracked files from included folders):
homer putOn the another computer, get the changes:
homer getTo reset some file:
homer reset bin/text.txtYou can reset all changes with:
homer resetTo remove single file from the repo:
homer remove <FILE>Homer can check for and download the update, if it exists:
homer updateThis will download a new version of homer in your $HOME folder.
Do it!
