2

当我在 Windows 中打开 a 时,如何打印包含我的git别名的欢迎消息?git bash

4

2 回答 2

4

的内容/etc/motd在交互式登录 Bash shell ( bash --login) 后显示在终端上。如果您在Git for Windows版本中省略了该文件,请使用您喜欢的编辑器/etc/motd创建一个。cat

# == Git Bash on Windows ==
#  - /etc/motd  = Message of the Day 
# - - - - - - - - - - - - -    
cat > /etc/motd
Welcome to the Git Bash Shell
- Try "pwd -W" versus "pwd -L"
- - - - - - - - -

CTRL-D

于 2012-12-24T20:22:17.050 回答
4

只需定义一个HOME环境变量,(未git-bash.bat在 msysgit 包含的脚本中定义)。

在您选择的目录中(例如:%USERPROFILE%),定义一个 .bashrc 文件,其内容如下:

git config --get-regexp alias

(来自“如何列出/显示 Git 别名? ”)

每次使用 msysgit 打开 bash 会话时,这将显示所有 git 别名。

alias.st status
alias.lg log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset' --abbrev-commit --date=relati    ve
alias.co checkout
alias.ci commit
alias.br branch
alias.lo !sh -c 'git log $1' -
alias.impact !git ls-files -z | xargs -0n1 git blame -w -C | sed -r 's/^[^(]+\((.*) [0-9]{4}-.*/\1/' | sed -r 's/ +$//' | sort -f | uniq -c | sort -nr

然而,OP Wilhelmsen在评论中问道:

你知道我怎样才能在印刷品上省略别名这个词吗?

当然,这是一个基本的bash 字符串操作操作:

a=$(git config --get-regexp alias)
echo "${a//alias./}"

这将显示:

st status
lg log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset' --abbrev-commit --date=relative
co checkout
ci commit
br branch
lo !sh -c 'git log $1' -
impact !git ls-files -z | xargs -0n1 git blame -w -C | sed -r 's/^[^(]+\((.*) [0-9]{4}-.*/\1/' | sed -r 's/ +$//' | sort -f | uniq -c | sort -nr

请注意${a//alias./},为了将字符串“ ”中的所有“ ”替换为空字符串。 并且双引号对于保持换行符是强制性的。(否则,所有别名将显示在一行上)。alias.a
echo "$..."

于 2012-10-29T12:35:31.673 回答