如何将bash脚本直接嵌入git别名中

我可以嵌入以下bash shell代码:


for name in $(git diff --name-only $1); do git difftool $1 $name & done

直接进入创建git别名:


git config --global alias.diffall ***my-bash-code-here***

这是从我之前关于SO的问题/答案开始的,在该问题中,我将代码放入.sh文件中,然后将其别名为该文件:


git config --global alias.diffall '!sh diffall.sh'

但是,在对简单性的永无止境的追求中,是否有一种方法可以跳过文件并将代码直接插入别名中?我不知道格式...


慕侠2389804
浏览 683回答 3
3回答

湖上湖

我在文档中找不到,但是如果您在路径中创建脚本“ git- <名称>”,则可以在存储库中使用“ git name”来调用它。看到:$ cd ~/bin$ echo "echo I love this log:>pwd>git log --graph&nbsp; --summary --decorate --all" > git-logg$ chmod +x git-logg$ cd /path/to/your/repo$ git loggI love this log:/path/to/your/repo* commit 3c94be44e4119228cc681fc7e11e553c4e77ad04 (whatever-branch)| Author: myself <my@Laptop.(none)>| Date:&nbsp; &nbsp;Fri Apr 1 16:47:20 2011 +0200|&nbsp;|&nbsp; &nbsp; &nbsp;would have been better not to do it at all|&nbsp;...$因此,您也可以使用这种(不太明显的)方式来编写自己喜欢的任何别名。您甚至可以在该函数的新命令中添加自动补全功能。这里的信息$ _git_logg (){&nbsp; # you can return anything here for the autocompletion for example all the branches&nbsp; __gitcomp_nl "$(__gi
打开App,查看更多内容
随时随地看视频慕课网APP