Common Commands

Most of these operations will look like Git commands; because they are. yadm wraps Git, allowing it to perform all of Git’s operations. The difference is your $HOME directory becomes the working directory, and you can run the commands from any directory.

Commands below which are special to yadm are denoted with , and those which are passed directly through to Git are denoted with .

man yadm
Display yadm’s manual.
yadm status
Show the repository status; added, changed, removed files. Because a $HOME directory often more than only dotfiles, by default yadm ignores untracked files when displaying status.
yadm push, yadm fetch
Send or retrive commits to/from your remote repository .
yadm commit --amend
Replace the last commit with a new one. Allows you to change your commit message or add staged changes to the previous commit.
yadm diff
View changes (uncommitted) you’ve made to your dotfiles.
yadm diff --cached
View changes staged with yadm add. These changes will be added with the next commit.
yadm list -a
Print a list of files managed by yadm. The -a option will cause all managed files to be listed. Otherwise, the list will only include files from the current directory or below.
yadm alt
Create symbolic links for any managed files matching the alternate naming rules. Read about alternate files for more details.
yadm encrypt
Encrypt all files matching the patterns found in $HOME/.config/yadm/encrypt. Read about encryption for more details.
yadm decrypt, yadm decrypt -l
Decrypt files stored in $HOME/.config/yadm/files.gpg. Using the -l option will only list the files (without decrypting them). Read about encryption for more details.
yadm clone --bootstrap <URL>
Clone the repository from <URL>, and automatically run bootstrap if successful. Read about bootstrap for more details.
yadm remote -v
Display detailed information about all configured remote repositories.
yadm checkout -- <file>
Abandon local changes to <file>, replacing it with the HEAD revision of <file>.
yadm checkout -b <branch-name>
Create a branch called <branch-name>, and check the branch out.

Updated: