在 Windows 7 的 git bash 中打印欢迎消息

Posted

技术标签:

【中文标题】在 Windows 7 的 git bash 中打印欢迎消息【英文标题】:Print welcome message in git bash in Windows 7 【发布时间】:2012-10-18 17:26:21 【问题描述】:

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

【问题讨论】:

你会手动运行哪个命令来获得你想看到的输出? 我不知道,我可能必须手动执行此操作,例如 echo "Available aliases: au : add -u, ct = commit... 你会手动运行哪个 git 命令? 当我从 Windows 打开 git bash 时打印欢迎消息的一些命令 您仍然需要我的回答才能在 /etc/motd 中输入(更新的)别名列表;) 【参考方案1】:

/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

【讨论】:

【参考方案2】:

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

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

git config --get-regexp alias

(来自“How to list/show Git aliases?”)

每次使用 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 询问in the comments:

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

当然,这是一个基本的bash String manipulation 操作:

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./,以便将字符串“a”中的全部alias.”替换为空字符串。echo "$..." 的双引号是强制换行的。 (否则,所有别名都将显示在 one 行上)。

【讨论】:

@Wilhelmsen support.microsoft.com/kb/310519 或 itechtalk.com/thread3595.html(好吧,我没有看到你对评论的最后修改) 你知道我怎样才能在印刷品上省略alias这个词吗? @Wilhelmsen 我已经编辑了答案以解决您最后的评论/问题,从输出中删除了“alias.”。

以上是关于在 Windows 7 的 git bash 中打印欢迎消息的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 7 Git Bash 中,有没有办法探索当前位置的目录?

.bash_history 不会在 Git for Windows (git bash) 中更新

Msysgit bash 在 Windows 7 中速度非常慢

错误 - 在Windows 7中使用“Git Bash Here”时,“文件扩展名.vbs没有脚本引擎”

在powetshell中打gitclone命令弹出啥框

我可以在 Windows 上的 Git Bash 中使用 gcloud 吗?