我想做一个bash脚本,它将打印其他分支当前分支之前的提交。但是,当我在子shell中执行命令git branch
时,我不仅获得分支名称,还获取当前目录中的文件和文件夹列表。为什么拨打$(git branch)
表现如此?
1
A
回答
4
这不是命令替换,而是引用。这里是git branch
在回购结果:
$ git branch
5-job-test-fails
* master
revisions
with_cool_background
通知的askerisk。
当你写echo $(git branch)
,由于参数是未加引号,星号将扩大到当前目录下的文件:
$ echo $(git branch)
5-job-test-fails app bin cable config config.ru db erd.pdf Gemfile Gemfile.lock Guardfile lib log public Rakefile README.rdoc test tmp vendor master revisions with_cool_background
为了克服这个问题,引用的说法:在
$ echo "$(git branch)"
5-job-test-fails
* master
revisions
with_cool_background
+0
哇,从来没有想过会是这样。如果我必须构建迭代遍历所有分支的foreach语句,那么该如何?如何处理这位明星? –
+0
在处理分支名称之前,您必须先删除星号。有几种方法可以解决这个问题:https://stackoverflow.com/questions/3846380/how-to-iterate-through-all-git-branches-using-bash-script。根据接受的答案,最好不要在脚本中使用'git branch'。 – user000001
相关问题
- 1. Git分支结果比较
- 2. GIT分支和结账
- 3. 为什么git分支图不能正确地跟踪分支?
- 4. Git分支和ls
- 5. git分支(没有分支)
- 6. 为什么git命令切换名为“git checkout”的分支?
- 7. 显示Git分支结构
- 8. git-svn分支
- 9. Git分支django
- 10. 让Git分支同步
- 11. 结帐时出错git分支
- 12. 检出远程git分支?
- 13. 的Git:什么分支提交源于
- 14. git的变基到不同的分支
- 15. git pull和git push的不同默认远程(跟踪分支)
- 16. Git跟踪远程分支,并推送到不同的分支
- 17. 能够结帐已删除的本地git分支,为什么?
- 18. 不同分支的Git镜像
- 19. 在git中创建分支的分支?
- 20. 的Git分支分割点
- 21. 为什么在git获取后没有看到git分支?
- 22. Git分支行为奇怪
- 23. Git,XPages和分支困境
- 24. Jenkins git插件和分支
- 25. git和分支名称
- 26. Git分支和合并
- 27. 与Git和SVN分支
- 28. Git和分支机构
- 29. IntelliJ和Git分支名称
- 30. Yii2迁移和Git分支
也许不同的目录 –