小编Chr*_*ris的帖子

git 输出为空白,除非捕获为: echo "$(git branch)"

我遇到了一个奇怪的问题,我真的不知道它是由与我的 Git 安装或我的 shell 相关的东西引起的,还是完全由其他原因引起的。如果我在一个有大量分支和提交的 Git 存储库中,我尝试列出分支:

$ git branch
$ git branch -a
$ git branch --list
Run Code Online (Sandbox Code Playgroud)

根本没有输出。但是,如果我通过echo结果运行这些命令的输出,正如人们所期望的那样:

$ echo "`git branch`"
  local-branch-1
  local-branch-2
* master
$ echo "$(git branch -a)"
  local-branch-1
  local-branch-2
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master 
Run Code Online (Sandbox Code Playgroud)

我的配置是 macOS 10.14.6,通过 Homebrew 安装了 Git 2.29.2。我正在使用带有 Prezto 或 PowerLevel10k 配置的 ZSH 5.8(也是 Homebrew)。尽管这些工具的别名很多快捷方式到Git命令,没有什么是别名 git *可能是干扰:

$ type git
git is /usr/local/bin/git
git is /usr/bin/git
Run Code Online (Sandbox Code Playgroud)

我也试过一个原始的 Bash 5.0.18 shell,结果是一样的。

ZSH 选项卡完成正确显示了分支,例如,如果我:

$ git checkout <tab>
local-branch-1 …
Run Code Online (Sandbox Code Playgroud)

git shell homebrew zsh gnu

2
推荐指数
1
解决办法
69
查看次数

标签 统计

git ×1

gnu ×1

homebrew ×1

shell ×1

zsh ×1