为什么'git branch'命令在通过命令替换使用时会有额外的输出?

问题描述 投票:0回答:2

假设我在项目根目录中有一个包含这些项目的git repo,这也是我的工作目录。

dir1 dir2 script.sh

我有git分支标题

master 077-fix_issue_a 078-fix_issue_b

我发现如果我运行git branch命令,我会得到以下输出

077-fix_issue_a
078-fix_issue_b
master

但是,如果我跑

for i in `git branch`
do
    echo $i
done

我得到了输出

077-fix_issue_a
078-fix_issue_b
dir1
dir2
script.sh
master

为什么git branch在使用命令替换运行时还包含目录项列表?

git command-substitution
2个回答
2
投票

因为git用星号标记当前签出的分支,并且该星形扩展到当前目录中的所有文件。尝试

for i in $(git branch | cut -b 2-)

0
投票

没关系,我发现了。

git branch通过活动分支放置通配符。

© www.soinside.com 2019 - 2024. All rights reserved.