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 .
- Display yadm’s manual.
- Show the repository status; added, changed, removed files. Because a
$HOMEdirectory often more than only dotfiles, by default yadm ignores untracked files when displaying status.
- 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.
- 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.
- Create symbolic links for any managed files matching the alternate naming rules. Read about alternate files for more details.
- Encrypt all files matching the patterns found in
$HOME/.yadm/encrypt. Read about encryption for more details.
yadm decrypt -l
- Decrypt files stored in
$HOME/.yadm/files.gpg. Using the
-loption 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
yadm checkout -b <branch-name>
- Create a branch called
<branch-name>, and check the branch out.