我想发布:$ git status
当我进入〜/ work
我考虑过设置一个别名,让我进入工作目录并启动git状态,但我发现这个解决方案不是最佳的。
答案 0 :(得分:3)
将此添加到您的.bashrc
:
gitstatusinwork() {
if [[ "$PWD" != "$MYOLDPWD" ]]; then
MYOLDPWD="$PWD"
if [[ "$PWD/" = ~/work/* ]]; then
if [[ "$OLDPWD" != ~/work/* && "$INWORKDIR" == 0 ]]; then
git status
fi
INWORKDIR=1
else
INWORKDIR=0
fi
fi
}
export PROMPT_COMMAND="$PROMPT_COMMAND; gitstatusinwork"
只要您输入git status
目录(或其任何子目录),此函数就会执行~/work
,然后再也不会再显示它,除非您离开~/work
目录并且再次重新输入。
答案 1 :(得分:1)
最简单的方法是:
cd ~/work && git status
我不认为你在寻找这个。
另一个选项是覆盖默认的cd
命令。您可以在.bashrc
或.bash_profile
文件末尾添加bash功能,如下所示:
cd() {
builtin cd "$1"
# detect if the current directory is a git repository
if [ -d .git ] || git rev-parse --is-inside-work-tree 2> /dev/null > /dev/null; then
echo ""; git status
fi
}
我希望这会有所帮助。
<强>更新强>
如果您只想在git status
进入回购根目录时看到cd
,则可以使用条件的第一部分,如下所示:
cd() {
builtin cd "$1"
# detect if the current directory is a git repository
if [ -d .git ]; then
echo ""; git status
fi
}