-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Eliot edited this page Feb 19, 2024
·
6 revisions
Shell (Shell framework) | WM / DE | Editor | Terminal | Multiplexer | Monitor | File Manager |
---|---|---|---|---|---|---|
bash | KDE | neovim / vscode | wezterm / alacritty | tmux | htop | yazi |
alias dotgit='/usr/bin/git --git-dir=$HOME/.config/.dotfiles/ --work-tree=$HOME'
git clone --bare https://github.com/test482/dotfiles.git ~/.config/.dotfiles
# checkout to specify branch
dotgit checkout $BRANCH_NAME
# or create new branch
dotgit switch --create $NEW_BRANCH
# backup configuration files that might already exist if needed
# mkdir -p ~/config-backup && dotgit checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} ~/config-backup/{}
# dotgit checkout
dotgit config --local status.showUntrackedFiles no
dotgit submodule update --init
# ignore some files change
# dotgit ls-files -v | rg "^S" for check skiped file list
dotgit update-index --skip-worktree $HOME/.ssh/authorized_keys
# git pre-commit hook to avoid CRLF file
echo '#!/bin/env bash
crlf_file_num=$(git --git-dir=$HOME/.config/.dotfiles/ --work-tree=$HOME ls-files | xargs -I{} rg -l $'\''\r'\'' {} | wc -l)
if test $crlf_file_num -ne 0; then
echo "错误:有文件包含 CRLF 换行符。"
exit 1
fi' > $HOME/.config/.dotfiles/hooks/pre-commit && chmod +x $HOME/.config/.dotfiles/hooks/pre-commit