0

我有一些别名,例如:

add-and-commit = !git add -A && git commit -m
last = !git --no-pager log -1 --oneline
stash-and-reset = !git stash && git reset --hard HEAD

我用一个裸仓库跟踪我的点文件。

d = !git --git-dir=/media/blueray/WDPurple/_DataBackup/_Work/_DailyBackups/dotfilesBackup --work-tree=$HOME

现在的问题是,我可以使用:

git add-and-commit
git last
git stash-and-reset

但我不能这样做:

git d add-and-commit
git d last
git d stash-and-reset

有什么解决办法吗?

4

1 回答 1

0

以下对我有用:

git init --bare $HOME/.dotfiles
touch $HOME/.dotfiles/.test

git config --global alias.ac '!git add -A && git commit -m'
git config --global alias.dot '!git --git-dir=$HOME/.dotfiles/ $HOME/.dotfiles'
git dot ac "Commit message"

dot命令还可以与last和结合使用stash-and-reset

git dot last
4c1db03 (HEAD -> master) testtest

PS我没有设置--work-tree=$HOME,因为我会得到太多文件,但它会工作。

解决问题的另一种方法是创建一个bash alias来跟踪您的点文件,这也可以与其他 git 命令和别名结合使用。例如看这篇文章

于 2020-10-18T20:42:48.003 回答