在 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 中速度非常慢